Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
gitlab-onigmo-scanner — Triage di sola rilevazione per GitLab CVE-2026-97229 (e CVE-2026-110264): valuta una versione self-managed di GitLab insieme al suo Ruby, intercettando le trappole della patch del 12 ottobre e del Ruby personalizzato. Nessun payload, nessuna sonda di rete. | Kitploit
Strumenti/GitHubGitHub/foxcornlab/gitlab-onigmo-scanner
Strumenti DifensiviScanner di VulnerabilitàAnalisi delle VulnerabilitàAudit di ConfigurazionePenetration TestingRisposta agli Incidenti
GitHubfoxcornlab/gitlab-onigmo-scanner

gitlab-onigmo-scanner

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →

Triage di sola rilevazione per GitLab CVE-2026-97229 (e CVE-2026-110264): valuta una versione self-managed di GitLab insieme al suo Ruby, intercettando le trappole della patch del 12 ottobre e del Ruby personalizzato. Nessun payload, nessuna sonda di rete.

Vedi Repository
17 giorni faNon ancora revisionato
Condividi

gitlab-onigmo-scanner

Triage delle versioni per le due vulnerabilità regex di GitLab con CVSS 10.0, CVE-2026-97229 e CVE-2026-110264. Fornisci una versione di GitLab che possiedi, e ti dice se quella build è ancora esposta, e intercetta le due trappole che stanno già cogliendo le persone. Non tocca mai la rete, non invia mai un payload, non raggiunge mai un endpoint di lint CI, non compila mai una regex artigianale.

La vulnerabilità

DettaglioValore
CVECVE-2026-97229, più CVE-2026-110264 valutata insieme ad essa
BugInteger overflow (CWE-190) in Onigmo, il motore regex integrato in Ruby, quando GitLab compila un'espressione regolare fornita dall'utente
ImpattoUnauthenticated remote code execution su un server GitLab self-managed, in determinate condizioni
Gravità10.0 critica per entrambe, valutata da GitLab come CNA
SfruttamentoCVE-2026-97229 aggiunta a CISA KEV il 2026-10-29, scadenza federale 2026-11-01. CVE-2026-110264 non ha alcuna voce KEV al momento della stesura, e GitLab non segnala alcun indizio di utilizzo in attacchi

CVE-2026-97229 è la vulnerabilità regex CI/CD: un'espressione regolare appositamente costruita in una configurazione CI/CD, validazione regex insufficiente, corretta il 2026-10-12. CVE-2026-110264 è una seconda vulnerabilità regex più ampia, corretta il 2026-10-21, che raggiunge ogni release self-managed fino alla 7.0. Stesso motore, stesso punteggio, bug diverso, ed è esattamente per questo che un solo controllo non basta.

Versioni corrette

CVE-2026-97229 (corretta il 2026-10-12)

LineaCorretta in
GitLab 19.219.2.8
GitLab 19.319.3.5
GitLab 19.419.4.2
GitLab 19.5, precedenti alla 19.2Non elencate come affette da questa CVE

CVE-2026-110264 (corretta il 2026-10-21)

LineaCorretta in
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 e precedentiNessuna release corretta, aggiornare a 18.11.13 o successiva

Ruby, per installazioni da sorgente e immagini personalizzate

LineaCorretta in
Ruby 3.33.3.13
Ruby 3.43.4.12
Ruby 4.04.0.9
Ruby 3.2 e precedentiNessuna correzione, fine del ciclo di vita, passare a 3.4 o 4.0

Trappola 1: la patch del 12 ottobre non copre il 21 ottobre

19.4.2, 19.3.5 e 19.2.8 hanno corretto CVE-2026-97229. Ognuna di esse si colloca al di sotto della correzione di CVE-2026-110264 per il proprio ramo (19.4.3, 19.3.6, 19.2.9). Se hai applicato la patch il 12 ottobre e ti sei fermato, sei ancora vulnerabile, e uno scanner che conosce solo la prima CVE ti dichiarerà pulito. Questo strumento valuta entrambe, e nomina la trappola nel suo output quando la rileva.

Trappola 2: aggiornare GitLab non corregge il tuo Ruby

La correzione di GitLab è una patch al Ruby che esso include nei propri pacchetti e immagini ufficiali. Un'installazione da sorgente, o un'immagine personalizzata che installa Ruby separatamente, non riceve quella patch da un aggiornamento di GitLab. Alpine Linux l'ha vissuta sulla propria pelle: è passata a GitLab 19.3.6 il 2026-10-22 ed è rimasta vulnerabile, perché la sua immagine usava Ruby standard. Un attaccante ha sondato il suo server il 2026-10-20 e 21, ha mandato in crash i worker otto volte, è arrivato a metà dell'exploit in quattro di esse, ed è tornato il 25 e 26. Alpine non ha trovato prove che l'exploit sia riuscito, non ha potuto escluderlo, ha ricostruito l'istanza da zero, sostituito le chiavi segrete e reimpostato ogni password. La sua immagine corretta, ri-scaricata dopo il 2026-10-27, include Ruby 3.3.13.

Quindi: --install-type official valuta solo la versione di GitLab, perché il Ruby viaggia con essa. --install-type source o custom valuta anche il Ruby fornito con --ruby-version, e una versione di Ruby mancante viene valutata UNKNOWN, non pulita. Ruby 4.0.8 è un caso speciale che vale la pena conoscere: corregge il bug CVE-2026-97229 ma non CVE-2026-110264, quindi qui viene valutato VULNERABLE. Ruby non ha richiesto identificatori CVE propri per queste correzioni, motivo per cui uno scanner che confronta i record CVE con i pacchetti installati non trova alcun Ruby vulnerabile da nessuna parte. Questo strumento controlla invece direttamente la versione di Ruby.

Cosa controlla

  • Una versione di GitLab: CVE-2026-97229 e CVE-2026-110264 separatamente, poi un verdetto complessivo
  • Un inventario CSV di molte istanze: name,gitlab_version,ruby_version,install_type,hosting
  • La trappola del Ruby, quando indichi che l'installazione è source o custom
  • GitLab.com e Dedicated come già corretti, nessuna azione necessaria

Ogni rilevamento riceve un verdetto: VULNERABLE, FIXED, EOL_NO_FIX, UNKNOWN, oppure NOT_AFFECTED per un singolo CVE su un branch che non tocca. EOL_NO_FIX conta come vulnerabile: non arriverà alcuna patch per quella linea.

Cosa non fa mai

Nessuna richiesta di rete. Nessun probing di server remoti. Nessuna regex artigianale, nessuna richiesta di lint CI, nessun traffico di exploit, nessun codice PoC. Legge le stringhe di versione che fornisci e si ferma. È deliberato: i PoC pubblici per CVE-2026-97229 esistono già, e riprodurne uno qui non aggiungerebbe nulla in termini difensivi.

Perché questo, quando esistono già PoC e contatori di versione

Il materiale pubblico per CVE-2026-97229 è per lo più offensivo: PoC che eseguono codice come utente git, e laboratori che mappano quali build sono sfruttabili. Censys conta gli host esposti per versione. GitLab ha pubblicato regole Sigma per individuare tentativi di sfruttamento nei log. Nulla di tutto ciò è uno strumento autonomo di triage difensivo che valuti insieme entrambe le falle CVSS 10.0 di ottobre e controlli il Ruby alla base di un'installazione source o custom. Quel vuoto è questo repo: un comando, entrambe le CVE, entrambe le trappole, nessun payload. Usalo insieme alle regole Sigma di GitLab, non al posto loro. Se un'istanza è stata sondata, il triage delle versioni non è il triage della compromissione: controlla i log di crash dei worker e i report di crash di Onigmo, e segui l'esempio di Alpine se non puoi escludere un tentativo.

Valutazione

RilevamentoGravità
GitLab al di sotto della correzione del suo branch per una delle due CVEVULNERABLE
GitLab su 18.10 o precedente, oppure Ruby 3.2 o precedente su un'installazione source/customEOL_NO_FIX, conta come vulnerabile
GitLab alla pari o oltre entrambe le correzioni, e un Ruby corretto dove applicabileFIXED
Installazione Source/custom senza versione di Ruby, o un branch più recente dei dati di questo strumento (2026-10-30)UNKNOWN, non pulito
GitLab.com / DedicatedFIXED, corretto da GitLab

Utilizzo

# 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, riga di intestazione opzionale:

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
Scarica lo strumento