GitLab CVE-2026-97229: ataque a Alpine, hay que actualizar Ruby
Intento de explotación de la CVE-2026-97229 contra el GitLab de Alpine Linux: si ejecutas GitLab con tu propio Ruby, actualiza también Ruby. Qué hacer.

ARX News ya ha tratado la CVE-2026-97229 de GitLab Community Edition (CE) y Enterprise Edition (EE), la ejecución de código sin autenticación con puntuación CVSS 10 ligada a las expresiones regulares en las configuraciones de CI/CD, y su inclusión en el catálogo KEV de la CISA el 29 de octubre. Entonces no se conocían detalles de los ataques. Ahora hay un primer caso documentado: el intento de explotación contra la instancia GitLab de Alpine Linux, la distribución que sirve de base a muchísimas imágenes de contenedores.
Han informado sobre ello The Hacker News, SecurityWeek y heise Security. Los detalles que siguen proceden del comunicado de Alpine Linux, recogido por SecurityWeek.
Qué le pasó a Alpine Linux
Según Alpine Linux, el ataque se produjo el 20 y 21 de octubre, aproximadamente una semana después del boletín de GitLab del 12 de octubre:
- el atacante usó una cuenta recién registrada para enviar a la instancia configuraciones de CI manipuladas, que hicieron fallar el proceso worker;
- en 4 de esos fallos el exploit llegó a mitad de camino y falló en el paso siguiente;
- el atacante también descargó la imagen de contenedor GitLab de Alpine: según la distribución, es señal de que estaba ajustando el exploit a su compilación exacta.
Alpine Linux afirma no haber encontrado pruebas de ejecución de código en el servidor, pero no puede descartarla. Por eso ha reconstruido la instancia desde cero y todavía la está verificando antes de reabrirla al público. Según sus comprobaciones, el repositorio aports, los paquetes y las versiones del 21 de octubre no han sido manipulados.
Además, ha restablecido todas las contraseñas y ha advertido de intentos de acceso automatizados con contraseñas filtradas en otras brechas. La fuente no dice si son obra del mismo atacante.
El punto técnico: el fallo está en Ruby
Según SecurityWeek, la CVE-2026-97229 se debe a una validación insuficiente de las expresiones regulares en Onigmo, el motor de expresiones regulares de Ruby. También heise Security atribuye los fallos críticos de GitLab a errores en el motor regex de Ruby.
Alpine Linux vivió la consecuencia práctica: su imagen ejecuta GitLab con el Ruby estándar de la distribución, no con el de los paquetes de GitLab. Por eso, según SecurityWeek, la vulnerabilidad siguió abierta incluso después de actualizar a GitLab 19.3.6, una de las versiones que ARX News indicaba como seguras.
La indicación de Alpine Linux es explícita: si ejecutas GitLab con tu propio Ruby (instalación desde el código fuente o imagen de contenedor construida por ti), no basta con actualizar GitLab; también necesitas Ruby 3.3.13, 3.4.12, 4.0.9 o posteriores.
Por lo tanto, un control basado solo en la versión de GitLab puede dar por corregida una instancia que sigue siendo vulnerable. Las fuentes disponibles no dicen si lo mismo vale para la CVE-2026-110264, corregida por GitLab el 21 de octubre y descrita también como un desbordamiento de enteros en el compilador de expresiones regulares.
Técnicas e indicadores
En términos de MITRE ATT&CK, el esquema sigue siendo la explotación de una aplicación expuesta (T1190), con una cuenta ordinaria creada en la instancia. Es coherente con las condiciones descritas a mediados de octubre por Rapid7, que requerían poder crear proyectos públicos. Los intentos de acceso con contraseñas filtradas corresponden al credential stuffing (T1110.004).
Las fuentes no recogen indicadores de compromiso (direcciones IP, nombres de cuentas, hashes). Las únicas señales descritas son de comportamiento: cuentas nuevas, configuraciones de CI anómalas y fallos repetidos del worker.
Impacto para las empresas europeas e italianas
El caso confirma que la CVE-2026-97229 se usa contra objetivos reales y que los atacantes dedican tiempo a adaptar el exploit a cada instalación. Las más expuestas son las instancias self-managed con registro abierto y las que se ejecutan con un Ruby no suministrado por GitLab: imágenes de contenedores personalizadas, instalaciones desde el código fuente, paquetes de las distribuciones.
Para quien usa las imágenes y los paquetes de Alpine Linux, la distribución declara que el repositorio, los paquetes y las versiones del 21 de octubre están íntegros: según las fuentes, no hay que hacer nada.
Para las entidades sujetas a la NIS2 vale lo ya dicho: gestión de vulnerabilidades, seguridad de la cadena de suministro del software y, en caso de incidente significativo, notificación al CSIRT nacional (en Italia, CSIRT Italia de la ACN).
Qué hacer ya
- Comprueba cómo está instalado GitLab: paquetes oficiales de GitLab o Ruby propio (código fuente, imagen construida por ti, paquetes de la distribución).
- Si el Ruby es tuyo: comprueba la versión que usan los procesos de GitLab y llévala al menos a 3.3.13, 3.4.12 o 4.0.9; después reinicia los servicios para que carguen el nuevo runtime.
- Actualiza GitLab de todos modos al menos a 19.2.9, 19.3.6, 19.4.3 o 19.5.1, como ya se indicó para la CVE-2026-110264.
- Revisa los controles de vulnerabilidades: si el escáner solo mira la versión de GitLab, añade la comprobación de la versión de Ruby.
- Busca las señales descritas por Alpine Linux: cuentas registradas recientemente, configuraciones de CI anómalas enviadas por esas cuentas y fallos repetidos de los procesos worker a partir del 12 de octubre.
- Accesos: revisa los intentos de acceso fallidos y, cuando sea posible, haz obligatoria la autenticación de dos factores; valora limitar el registro abierto.
- Si encuentras actividad sospechosa: considera expuesto el servidor, como hizo Alpine Linux, verifica la integridad de los repositorios y de los artefactos de publicación, sustituye contraseñas y secretos de las pipelines y valora las obligaciones de notificación.
Cómo ayuda ARXDOME
ARX Expose muestra qué servicios expone tu empresa en Internet, qué productos se reconocen en ellos y cuáles tienen vulnerabilidades conocidas: te ayuda a descubrir si una instancia GitLab es accesible desde fuera. ARX Shield enumera las vulnerabilidades abiertas en las máquinas supervisadas. ARX Sentry recoge registros y eventos de los servidores en los que está instalado el agente y controla la integridad de los archivos en las carpetas establecidas. Con ARX Horizon puedes consultar desde el portal los detalles de las vulnerabilidades.
Última actualización:


