Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
gitlab-onigmo-scanner — Triage en détection seule pour GitLab CVE-2026-97229 (et CVE-2026-110264) : évalue une version de GitLab auto-hébergée ainsi que son Ruby, et détecte les pièges du correctif du 12 octobre et du Ruby personnalisé. Aucune charge utile, aucune sonde réseau. | Kitploit
Outils/GitHubGitHub/foxcornlab/gitlab-onigmo-scanner
Outils DéfensifsScanners de VulnérabilitésAnalyse des VulnérabilitésAudit de ConfigurationTests d'IntrusionRéponse aux Incidents
GitHubfoxcornlab/gitlab-onigmo-scanner

gitlab-onigmo-scanner

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →

Triage en détection seule pour GitLab CVE-2026-97229 (et CVE-2026-110264) : évalue une version de GitLab auto-hébergée ainsi que son Ruby, et détecte les pièges du correctif du 12 octobre et du Ruby personnalisé. Aucune charge utile, aucune sonde réseau.

Voir le dépôt
1il y a 7 joursPas encore vérifié
Partager

gitlab-onigmo-scanner

Triage de version pour les deux failles regex GitLab de score CVSS 10.0, CVE-2026-97229 et CVE-2026-110264. Fournissez-lui une version de GitLab que vous possédez, il vous indique si cette build est toujours exposée, et il détecte les deux pièges qui trompent déjà les gens. Il ne touche jamais au réseau, n'envoie jamais de payload, ne contacte jamais un endpoint de lint CI, ne compile jamais de regex forgée.

La faille

DétailValeur
CVECVE-2026-97229, plus CVE-2026-110264 évaluée conjointement
BugInteger overflow (CWE-190) dans Onigmo, le moteur de regex intégré à Ruby, lorsque GitLab compile une expression régulière fournie par l'utilisateur
ImpactExécution de code à distance non authentifiée sur un serveur GitLab auto-hébergé, sous certaines conditions
Sévérité10.0 critique pour les deux, notées par GitLab en tant que CNA
ExploitationCVE-2026-97229 ajoutée au CISA KEV le 2026-10-29, échéance fédérale 2026-11-01. CVE-2026-110264 n'a pas d'entrée KEV à ce jour, et GitLab ne rapporte aucun signe d'utilisation dans des attaques

CVE-2026-97229 est la faille regex CI/CD : une expression régulière spécialement forgée dans une configuration CI/CD, validation regex insuffisante, corrigée le 2026-10-12. CVE-2026-110264 est une seconde faille regex plus large, corrigée le 2026-10-21, touchant toutes les versions auto-hébergées jusqu'à 7.0. Même moteur, même score, bug différent, et c'est précisément pourquoi une seule vérification ne suffit pas.

Versions corrigées

CVE-2026-97229 (corrigée le 2026-10-12)

BrancheCorrigée dans
GitLab 19.219.2.8
GitLab 19.319.3.5
GitLab 19.419.4.2
GitLab 19.5, antérieure à 19.2Non listée comme affectée par cette CVE

CVE-2026-110264 (corrigée le 2026-10-21)

BrancheCorrigée dans
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 et antérieuresAucune version corrigée, mettre à niveau vers 18.11.13 ou ultérieure

Ruby, pour les installations depuis les sources et les images personnalisées

BrancheCorrigée dans
Ruby 3.33.3.13
Ruby 3.43.4.12
Ruby 4.04.0.9
Ruby 3.2 et antérieuresAucun correctif, fin de vie, passer à 3.4 ou 4.0

Piège 1 : le correctif du 12 octobre ne couvre pas le 21 octobre

19.4.2, 19.3.5 et 19.2.8 corrigeaient CVE-2026-97229. Chacune d'elles se situe en dessous du correctif de CVE-2026-110264 pour sa branche (19.4.3, 19.3.6, 19.2.9). Si vous avez corrigé le 12 octobre et vous êtes arrêté là, vous êtes toujours vulnérable, et un scanner qui ne connaît que la première CVE vous déclarera sain. Cet outil évalue les deux, et il nomme le piège dans sa sortie lorsqu'il le détecte.

Piège 2 : mettre à niveau GitLab ne corrige pas votre propre Ruby

Le correctif de GitLab est un patch appliqué au Ruby qu'il embarque dans ses paquets et images officiels. Une installation depuis les sources, ou une image personnalisée qui installe Ruby séparément, ne reçoit pas ce patch via une mise à niveau de GitLab. Alpine Linux en a fait l'expérience : il est passé à GitLab 19.3.6 le 2026-10-22 et est resté vulnérable, car son image utilisait le Ruby standard. Un attaquant a sondé son serveur les 2026-10-20 et 21, a fait planter des workers huit fois, a progressé partiellement dans l'exploit dans quatre d'entre eux, et est revenu les 25 et 26. Alpine n'a trouvé aucune preuve que l'exploit ait réussi, n'a pas pu l'exclure, a reconstruit l'instance de zéro, remplacé ses clés secrètes et réinitialisé tous les mots de passe. Son image corrigée, re-téléchargée après le 2026-10-27, embarque Ruby 3.3.13.

Donc : --install-type official évalue uniquement la version de GitLab, car le Ruby l'accompagne. --install-type source ou custom évalue également le Ruby que vous fournissez avec --ruby-version, et une version de Ruby manquante est évaluée UNKNOWN, pas propre. Ruby 4.0.8 est un cas particulier qu'il vaut la peine de connaître : il corrige le bug CVE-2026-97229 mais pas CVE-2026-110264, donc il est évalué VULNERABLE ici. Ruby n'a demandé aucun identifiant CVE propre pour ces correctifs, c'est pourquoi un scanner comparant les enregistrements CVE aux paquets installés ne trouve aucun Ruby vulnérable nulle part. Cet outil vérifie directement la version de Ruby à la place.

Ce qu'il vérifie

  • Une version de GitLab : CVE-2026-97229 et CVE-2026-110264 séparément, puis un verdict global
  • Un inventaire CSV de nombreuses instances : name,gitlab_version,ruby_version,install_type,hosting
  • Le piège du Ruby, lorsque vous indiquez que l'installation est source ou custom
  • GitLab.com et Dedicated comme déjà corrigés, aucune action nécessaire

Chaque constat reçoit un verdict : VULNERABLE, FIXED, EOL_NO_FIX, UNKNOWN, ou NOT_AFFECTED pour un seul CVE sur une branche qu'il ne touche pas. EOL_NO_FIX compte comme vulnérable : aucun correctif n'est prévu pour cette ligne.

Ce qu'il ne fait jamais

Aucune requête réseau. Aucun sondage de serveurs distants. Aucune regex élaborée, aucune requête de lint CI, aucun trafic d'exploitation, aucun code PoC. Il lit les chaînes de version que vous fournissez et s'arrête. C'est délibéré : les PoC publics pour CVE-2026-97229 existent déjà, et en reproduire un ici n'apporterait rien en matière de défense.

Pourquoi cet outil, alors que des PoC et des compteurs de versions existent déjà

Le matériel public pour CVE-2026-97229 est majoritairement offensif : des PoC qui exécutent du code en tant qu'utilisateur git, et des labs qui cartographient les builds exploitables. Censys compte les hôtes exposés par version. GitLab a publié des règles Sigma pour repérer les tentatives d'exploitation dans les journaux. Rien de tout cela n'est un outil autonome de triage défensif qui évalue ensemble les deux failles d'octobre de CVSS 10.0 et vérifie le Ruby sous-jacent à une installation source ou custom. C'est ce manque que comble ce dépôt : une commande, les deux CVE, les deux pièges, aucune charge utile. Utilisez-le en complément des règles Sigma de GitLab, pas à leur place. Si une instance a été sondée, le triage de version n'est pas le triage de compromission : vérifiez les journaux de crash des workers et les rapports de crash Onigmo, et suivez l'exemple d'Alpine si vous ne pouvez pas écarter une tentative.

Évaluation

ConstatSévérité
GitLab en dessous du correctif de sa branche pour l'un ou l'autre CVEVULNERABLE
GitLab sur 18.10 ou antérieur, ou Ruby 3.2 ou antérieur sur une installation source/customEOL_NO_FIX, compte comme vulnérable
GitLab au niveau ou au-delà des deux correctifs, et un Ruby corrigé lorsqu'il s'appliqueFIXED
Installation Source/custom sans version de Ruby, ou une branche plus récente que les données de cet outil (2026-10-30)UNKNOWN, pas propre
GitLab.com / DedicatedFIXED, corrigé par GitLab

Utilisation

# 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

Format inventory.csv, ligne d'en-tête facultative :

Télécharger l’outil