GitLab corrige vulnerabilidades de alta gravedad que permitían el bloqueo de instancias

GitLab ha emitido una alerta crítica que afecta a sus versiones self-managed (Community Edition – CE y Enterprise Edition – EE), que son anteriores a 18.4.1, 18.3.3 y 18.2.7. Las vulnerabilidades divulgadas incluyen fallas de Denegación de Servicio (DoS) causadas por atacantes no autenticados, además de riesgos de divulgación de información y escalamiento de privilegios.


Múltiples Vulnerabilidades Críticas en GitLab Self-Managed

Las fallas afectan tanto a los puntos de acceso HTTP tradicionales como al API GraphQL de GitLab, que es una interfaz moderna.

CVE-2025-10858: Un atacante no autenticado puede enviar un JSON mal formado al endpoint /api/v4/projects/:id/uploads, agotando la CPU y la memoria del servidor Rails y causando un DoS.

CVE-2025-8014: Un atacante puede construir consultas GraphQL anidadas o de alto coste para superar los límites del servidor, haciendo que los procesos se bloqueen.

CVE-2025-9958: Permite a usuarios con bajos privilegios leer configuraciones sensibles del registro virtual mediante /api/v4/registry/repositories/:id.

CVE-2025-7691: Un usuario con permisos de “Developer” en un grupo puede elevar su privilegio eludiendo los controles de roles de backend EE a través de llamadas a /api/v4/groups/: group_id/members.

Vectores Adicionales: Existen otros vectores de DoS menores en GraphQL relacionados con la búsqueda de blobs y la conversión de cadenas en middleware de Ruby, que degradan el rendimiento general.


Acciones de Mitigación y Parches Disponibles

GitLab ha lanzado parches de seguridad para corregir todas estas vulnerabilidades, incluyendo mejoras de seguridad para PostgreSQL (CVE-2025-8713, 8714, 8715).

  • Versiones con Parche: 18.4.1, 18.3.3 y 18.2.7.
  • Proceso de Parcheo: La actualización no requiere migraciones de base de datos. En despliegues multi-nodo, se puede usar la bandera /etc/gitlab/skip-auto-reconfigure para aplicar el parche con cero tiempos de inactividad.

Puntos Críticos y de Alto Impacto
  • DoS por No Autenticado: El riesgo más inmediato es que un atacante no autenticado pueda agotar recursos críticos y causar un DoS, impactando servicios de CI/CD y repositorios privados.
  • Riesgo en APIs Modernas: Las fallas en GraphQL demuestran que las APIs modernas, aunque flexibles, introducen nuevos riesgos si los límites de complejidad y recursos no se gestionan rigurosamente.
  • Ventana de Ataque: Las vulnerabilidades de divulgación y escalamiento (CVE-2025-9958, CVE-2025-7691) permiten que atacantes con privilegios limitados obtengan información delicada o aumenten su nivel de acceso, facilitando ataques posteriores más graves.

Recomendaciones
  • Actualizar:
    • Si tu versión es anterior a 18.4.1 / 18.3.3 / 18.2.7, aplica el parche inmediatamente. Asegúrate de que todos los nodos en instalaciones distribuidas estén actualizados.
  • Restricción de Acceso Público a APIs Sensibles:
    • Si es viable, limita el acceso a endpoints críticos como /api/v4/projects/:id/uploads o /api/graphql solo a redes internas confiables, usando firewalls o políticas de red.
  • Revisar Límites de APIs / GraphQL:
    • Configura controles de complejidad en las consultas GraphQL para evitar que excedan los recursos permitidos.
    • Asegura una validación estricta de los JSON de entrada para endpoints críticos.
  • Monitoreo y Alertas de Anomalías:
    • Implementa alertas por solicitudes con payloads inusuales o excesivamente grandes.
    • Configura monitoreo para detectar un crecimiento anormal en el uso de CPU/memoria causada por peticiones externas, o errores del servidor (rails/unicorn) que puedan indicar ataques DoS en curso.

Related Post