Una prueba de concepto (PoC) pública para la CVE-2026-97229, publicada por el investigador Jonah Burgess, muestra cómo un fallo en el compilador de expresiones regulares de CI/CD de GitLab podría utilizarse para ejecutar comandos en un servidor vulnerable.
GitLab califica el problema como Crítico con una puntuación CVSS de 10.0. El código del exploit está disponible públicamente, lo que aumenta el riesgo para las organizaciones que aún no han instalado las actualizaciones de seguridad.
La PoC se dirige a GitLab Community Edition y Enterprise Edition. Su autor informa haber probado la estructura del exploit incluida contra la imagen oficial de GitLab CE 19.4.1 para Linux amd64. El código utiliza el punto final de CI lint de GitLab, que verifica los archivos de configuración de CI/CD, como parte de la cadena del exploit.
El exploit tiene una condición de acceso importante. El atacante necesita permiso para subir una rama a un proyecto público en la instancia de GitLab afectada. Luego, la PoC envía una solicitud posterior al punto final de CI lint sin un token, cookie u otro encabezado de autorización.
Jonah Burgess afirma que el comando se ejecuta como la cuenta de git de GitLab, no como un administrador. El código público es un lanzamiento inicial, y su autor indica que se está llevando a cabo un análisis más profundo de las configuraciones afectadas y otras rutas posibles.
Publicado Exploit PoC para Vulnerabilidad Crítica de GitLab
El aviso de GitLab describe la CVE-2026-97229 como un desbordamiento de enteros en el compilador de expresiones regulares de CI/CD. La PoC detalla una cadena en la que CI lint lee una configuración de pipeline manipulada desde una rama controlada por el atacante y procesa una expresión regular contra rutas de repositorio nombradas especialmente.
Una ruta Unicode provoca que Ruby compile la expresión nuevamente después de la comprobación de tamaño de GitLab. Los autores del exploit afirman que esto conduce a un desbordamiento de enteros que redirige la ejecución del motor de expresiones regulares y alcanza una función de ejecución de comandos.
El repositorio informa que la solicitud de prueba generalmente termina con un error HTTP 502 porque el proceso trabajador colapsa después de que se ejecuta el comando. Esa respuesta por sí sola no confirma que la explotación haya sido exitosa.
Las pruebas del autor Jonah Burgess, mediante la salida de comandos devuelta a través de un callback, indicaron la ejecución. La PoC también requiere una memoria sustancial, y la estructura publicada es específica para una compilación de GitLab. El autor advierte que una memoria baja o múltiples solicitudes concurrentes podrían, en su lugar, interrumpir el servicio.
GitLab dice que el fallo afecta a las versiones CE y EE 19.2 antes de la 19.2.8, 19.3 antes de la 19.3.5, y 19.4 antes de la 19.4.2. La empresa lanzó esas versiones corregidas el 12 de octubre de 2026, y recomienda encarecidamente que las instalaciones autogestionadas se actualicen rápidamente.
GitLab.com ya está ejecutando una versión parcheada, mientras que los clientes de GitLab Dedicated no necesitan tomar ninguna medida. Debes confirmar tu versión y actualizar a la versión corregida para tu rama o a una versión posterior compatible.
También deberías revisar los cambios recientes en los archivos de configuración de CI/CD, especialmente las expresiones regulares nuevas o modificadas y las ramas del proyecto. La cobertura de seguridad previa de regex de CI/CD de GitLab y los informes anteriores de actualizaciones de seguridad proporcionan un contexto adicional sobre por qué estos componentes del pipeline merecen una revisión minuciosa.
Esta PoC no establece que la vulnerabilidad se esté utilizando en intrusiones del mundo real. Sin embargo, te da una razón concreta para priorizar el parcheo: el problema tiene la calificación CVSS más alta, y el código del exploit público describe un camino desde el acceso de escritura al proyecto hasta la ejecución de comandos en un servidor vulnerable.
Fuentes:
https://cybersecuritynews.com/poc-gitlab-rce-vulnerability/

No hay comentarios:
Publicar un comentario