Un compilatore di espressioni regolari diventa una porta d'ingresso
GitLab ha corretto il 12 ottobre CVE-2026-97229, un integer overflow con CVSS 10,0 nel compilatore che gestisce le espressioni regolari nella configurazione delle pipeline CI/CD. In certe condizioni, dice l'avviso di GitLab, un utente non autenticato poteva eseguire codice arbitrario sul server GitLab tramite un'espressione regolare costruita ad arte in una configurazione CI/CD.
L'avviso non spiega quelle condizioni, e nemmeno i tre resoconti che abbiamo letto lo fanno. Un ricercatore con lo pseudonimo joaxcar ha segnalato il bug attraverso il programma di bug bounty HackerOne di GitLab. GitLab.com esegue già la versione corretta e i clienti GitLab Dedicated non devono fare nulla, ma gli amministratori delle istanze self-managed devono aggiornare subito. Secondo heise, al 13 ottobre GitLab non aveva comunicato attacchi.
| Linea di rilascio | Vulnerabile | Corretta in |
|---|---|---|
| GitLab 19.2 | Precedenti a 19.2.8 | 19.2.8 |
| GitLab 19.3 | Precedenti a 19.3.5 | 19.3.5 |
| GitLab 19.4 | Precedenti a 19.4.2 | 19.4.2 |
Nello stesso rilascio sono stati corretti tre bug di gravità alta. CVE-2026-92883 (8,7) è un difetto di cross-site scripting. CVE-2026-16301 (8,5) permette a un utente con il ruolo Developer di eseguire pipeline su branch protetti. CVE-2026-14814 (8,2) può avvelenare le risposte in cache ed esporre variabili d'ambiente protette. Heise conta cinque bug di gravità alta in totale.
Tre bug critici di GitLab in poche settimane
CVE-2026-97229 è il terzo bug critico di GitLab nelle ultime settimane, e quello di settembre ha mostrato quanto è veloce chi attacca.
| CVE | CVSS | Componente | Conseguenza riportata |
|---|---|---|---|
| CVE-2026-85706 | 10,0 | GitLab CE ed EE | Lettura senza autenticazione di dati sensibili come credenziali e segreti, con sondaggi entro poche ore dalla divulgazione e un inserimento nell'elenco della CISA un giorno dopo la correzione |
| CVE-2026-90970 | 9,9 | AI Gateway | Un utente autenticato con accesso alla Duo Agent Platform poteva uscire dalla sandbox dei template di prompt ed eseguire comandi |
| CVE-2026-97229 | 10,0 | Compilatore di espressioni regolari CI/CD | Esecuzione di codice senza autenticazione, senza attacchi riportati al 13 ottobre |
Dopo il bug di settembre la CISA ha dato alle agenzie federali statunitensi tre giorni per mettere in sicurezza i sistemi. Dal novembre 2021 ha segnalato cinque bug di GitLab sfruttati in attacchi, uno dei quali usato da gruppi ransomware. Al 13 ottobre non risultavano attacchi al nuovo bug, ma il ritmo di settembre è quello su cui conviene pianificare.
Perché un server di pipeline vale un attacco
Un server CI/CD sta tra il codice sorgente e la produzione, ed è per questo che eseguire codice su di esso vale più, per un attaccante, che farlo sulla maggior parte dei server aziendali.
Di solito custodisce i segreti che le pipeline richiedono per compilare, testare e distribuire, come token di accesso e chiavi di deploy, e può cambiare ciò che arriva ai clienti. GitLab dice di avere più di 30 milioni di utenti registrati e che più del 50 per cento delle Fortune 100 lo usa. L'hosting in proprio scambia comodità con il controllo su dove stanno il vostro codice e i vostri dati, e sposta su di voi l'onere dell'aggiornamento. Può essere una scelta deliberata per i team con requisiti di residenza dei dati, ed è anche il motivo per cui il giorno delle patch del fornitore diventa la vostra scadenza.
Un piano di 72 ore per i team self-managed
Trattatelo come un lavoro da 72 ore per ogni istanza raggiungibile da internet e cominciate dal controllo della versione.
Primo, leggete la versione installata e confrontatela con 19.2.8, 19.3.5 e 19.4.2, poi confermate i numeri di build esatti nell'avviso di GitLab. Secondo, pianificate l'aggiornamento entro 72 ore, partendo da ogni istanza raggiungibile da internet. Terzo, finché non è fatto, limitate chi può raggiungere il server e chi può modificare i file di configurazione CI/CD.
Quarto, se non potete escludere l'esposizione, ruotate i segreti salvati come variabili di pipeline una volta applicata la patch. Quinto, iscrivetevi agli avvisi di sicurezza di GitLab, così il prossimo arriva a una persona lo stesso giorno. Le 72 ore sono una finestra che suggeriamo noi, non una scadenza di GitLab.
Da leggere ora: Due righe dicono se il bug di NetScaler vi riguarda | La falla peggio valutata di GitLab richiede un solo progetto pubblico



