Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
gitlab-onigmo-scanner — Triaje de solo detección para GitLab CVE-2026-97229 (y CVE-2026-110264): evalúa una versión de GitLab autogestionado junto con su Ruby, y detecta las trampas del parche del 12 de octubre y del Ruby personalizado. Sin payloads, sin sondeos de red. | Kitploit
Herramientas/GitHubGitHub/foxcornlab/gitlab-onigmo-scanner
Herramientas DefensivasEscáneres de VulnerabilidadesAnálisis de VulnerabilidadesAuditoría de ConfiguraciónPruebas de PenetraciónRespuesta a Incidentes
GitHubfoxcornlab/gitlab-onigmo-scanner

gitlab-onigmo-scanner

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →

Triaje de solo detección para GitLab CVE-2026-97229 (y CVE-2026-110264): evalúa una versión de GitLab autogestionado junto con su Ruby, y detecta las trampas del parche del 12 de octubre y del Ruby personalizado. Sin payloads, sin sondeos de red.

Ver Repositorio
1hace 7 díasAún no revisado
Compartir

gitlab-onigmo-scanner

Triaje de versiones para las dos fallas de regex de GitLab con CVSS 10.0, CVE-2026-97229 y CVE-2026-110264. Dale una versión de GitLab que poseas, te dice si esa compilación sigue abierta, y detecta las dos trampas que ya están atrapando a la gente. Nunca toca la red, nunca envía un payload, nunca accede a un endpoint de lint de CI, nunca compila una regex manipulada.

La falla

DetalleValor
CVECVE-2026-97229, más CVE-2026-110264 calificada junto a ella
BugDesbordamiento de entero (CWE-190) en Onigmo, el motor de regex integrado en Ruby, cuando GitLab compila una expresión regular proporcionada por el usuario
ImpactoEjecución remota de código no autenticada en un servidor GitLab autogestionado, bajo ciertas condiciones
Severidad10.0 crítica para ambas, puntuada por GitLab como CNA
ExplotaciónCVE-2026-97229 añadida a CISA KEV el 2026-10-29, fecha límite federal 2026-11-01. CVE-2026-110264 no tiene entrada en KEV a la fecha de este escrito, y GitLab no reporta indicios de que se haya usado en ataques

CVE-2026-97229 es la falla de regex de CI/CD: una expresión regular especialmente manipulada en una configuración de CI/CD, validación de regex insuficiente, corregida el 2026-10-12. CVE-2026-110264 es una segunda falla de regex más amplia, corregida el 2026-10-21, que alcanza todas las versiones autogestionadas hasta la 7.0. Mismo motor, misma puntuación, bug diferente, y esa es exactamente la razón por la que una sola comprobación no basta.

Versiones corregidas

CVE-2026-97229 (corregida el 2026-10-12)

LíneaCorregida en
GitLab 19.219.2.8
GitLab 19.319.3.5
GitLab 19.419.4.2
GitLab 19.5, anterior a 19.2No listada como afectada por esta CVE

CVE-2026-110264 (corregida el 2026-10-21)

LíneaCorregida en
GitLab 19.519.5.1
GitLab 19.419.4.3
GitLab 19.319.3.6
GitLab 19.219.2.9
GitLab 19.119.1.9
GitLab 19.019.0.10
GitLab 18.1118.11.13
GitLab 18.10 y anterioresSin versión corregida, actualizar a 18.11.13 o posterior

Ruby, para instalaciones desde código fuente e imágenes personalizadas

LíneaCorregida en
Ruby 3.33.3.13
Ruby 3.43.4.12
Ruby 4.04.0.9
Ruby 3.2 y anterioresSin corrección, fin de vida, migrar a 3.4 o 4.0

Trampa 1: el parche del 12 de octubre no cubre el 21 de octubre

19.4.2, 19.3.5 y 19.2.8 corrigieron CVE-2026-97229. Cada una de ellas está por debajo de la corrección de CVE-2026-110264 para su rama (19.4.3, 19.3.6, 19.2.9). Si parcheaste el 12 de octubre y te detuviste, sigues siendo vulnerable, y un escáner que solo conoce la primera CVE te declarará limpio. Esta herramienta evalúa ambas, y nombra la trampa en su salida cuando la detecta.

Trampa 2: actualizar GitLab no corrige tu propio Ruby

La corrección de GitLab es un parche al Ruby que incluye en sus paquetes e imágenes oficiales. Una instalación desde código fuente, o una imagen personalizada que instala Ruby por separado, no recibe ese parche con una actualización de GitLab. Alpine Linux vivió esto en carne propia: actualizó a GitLab 19.3.6 el 2026-10-22 y siguió vulnerable, porque su imagen usaba Ruby estándar. Un atacante sondeó su servidor el 2026-10-20 y el 21, tumbó workers ocho veces, llegó a medias en el exploit en cuatro de ellas, y volvió el 25 y el 26. Alpine no encontró prueba de que el exploit tuviera éxito, no pudo descartarlo, reconstruyó la instancia desde cero, reemplazó sus claves secretas y restableció todas las contraseñas. Su imagen corregida, re-descargada después del 2026-10-27, lleva Ruby 3.3.13.

Así que: --install-type official evalúa solo la versión de GitLab, porque el Ruby va con ella. --install-type source o custom también evalúa el Ruby que proporciones con --ruby-version, y una versión de Ruby ausente se evalúa como UNKNOWN, no como limpia. Ruby 4.0.8 es un caso especial que conviene conocer: corrige el fallo CVE-2026-97229 pero no CVE-2026-110264, por lo que aquí se evalúa como VULNERABLE. Ruby no ha solicitado identificadores CVE propios para estas correcciones, por lo que un escáner que compara registros CVE con los paquetes instalados no encuentra ningún Ruby vulnerable en ningún sitio. Esta herramienta comprueba la versión de Ruby directamente.

Qué comprueba

  • Una versión de GitLab: CVE-2026-97229 y CVE-2026-110264 por separado, y luego un veredicto global
  • Un inventario CSV de muchas instancias: name,gitlab_version,ruby_version,install_type,hosting
  • La trampa de Ruby, cuando indicas que la instalación es source o custom
  • GitLab.com y Dedicated como ya parcheados, sin acción necesaria

Cada hallazgo recibe un veredicto: VULNERABLE, FIXED, EOL_NO_FIX, UNKNOWN, o NOT_AFFECTED para un único CVE en una rama que no le afecta. EOL_NO_FIX cuenta como vulnerable: no habrá parche para esa línea.

Lo que nunca hace

Ninguna solicitud de red. Ningún sondeo de servidores remotos. Ninguna regex elaborada, ninguna solicitud de lint de CI, ningún tráfico de explotación, ningún código PoC. Lee las cadenas de versión que proporcionas y se detiene. Eso es deliberado: los PoC públicos para CVE-2026-97229 ya existen, y reproducir uno aquí no aportaría nada defensivo.

Por qué esto, cuando ya existen PoCs y contadores de versiones

El material público para CVE-2026-97229 es mayoritariamente ofensivo: PoC que ejecutan código como el usuario git, y laboratorios que mapean qué compilaciones son armamentizables. Censys cuenta hosts expuestos por versión. GitLab publicó reglas Sigma para detectar intentos de explotación en los registros. Nada de eso es una herramienta de triaje defensivo independiente que evalúe juntos ambos fallos de octubre de CVSS 10.0 y compruebe el Ruby subyacente en una instalación source o custom. Ese hueco es este repositorio: un comando, ambos CVE, ambas trampas, sin payload. Úsalo junto con las reglas Sigma de GitLab, no en su lugar. Si una instancia fue sondeada, el triaje de versiones no es triaje de compromiso: revisa los registros de caídas de workers y los informes de caídas de Onigmo, y sigue el ejemplo de Alpine si no puedes descartar un intento.

Evaluación

HallazgoSeveridad
GitLab por debajo de la corrección de su rama para cualquiera de los CVEVULNERABLE
GitLab en 18.10 o anterior, o Ruby 3.2 o anterior en una instalación source/customEOL_NO_FIX, cuenta como vulnerable
GitLab en o más allá de ambas correcciones, y un Ruby corregido cuando apliqueFIXED
Instalación Source/custom sin versión de Ruby, o una rama más reciente que los datos de esta herramienta (2026-10-30)UNKNOWN, no limpia
GitLab.com / DedicatedFIXED, parcheado por GitLab

Uso

# One instance, official package or image
python3 gitlab_onigmo_scanner.py --version 19.4.2

# One instance, source install with its own Ruby
python3 gitlab_onigmo_scanner.py --version 19.4.3 --ruby-version 3.4.11 --install-type source

# A whole estate, machine-readable output
python3 gitlab_onigmo_scanner.py --list inventory.csv --json

# Tests (version tables only, no network)
python3 -m unittest discover -s tests -v

inventory.csv formato, fila de encabezado opcional:

name,gitlab_version,ruby_version,install_type,hosting
prod,19.4.1,,official,self-managed
staging,19.4.3,,official,self-managed
legacy-source,19.4.3,3.4.11,source,self-managed
Descargar herramienta