GitLab CVE-2026-97229: la CISA la segnala come sfruttata e Alpine Linux dimostra che aggiornare non sempre basta

La CISA ha inserito CVE-2026-97229, una falla di GitLab con CVSS 10.0, nel catalogo delle vulnerabilità sfruttate. Alpine Linux riferisce di un tentativo di attacco al proprio server, rimasto vulnerabile dopo un aggiornamento perché la correzione dipende anche dalla versione di Ruby.

Cosa è successo

Il 29 ottobre 2026 la CISA ha inserito CVE-2026-97229 nel catalogo delle vulnerabilità sfruttate: le agenzie federali statunitensi hanno tempo fino al 1° novembre per intervenire e devono svolgere un’analisi forense. GitLab classifica la falla come critica, con un punteggio CVSS di 10,0: un overflow di interi nel compilatore delle espressioni regolari della configurazione CI/CD consente, a determinate condizioni, a un utente non autenticato di eseguire codice sul server. GitLab l’ha corretta il 12 ottobre nelle versioni 19.4.2, 19.3.5 e 19.2.8. Alpine Linux ha reso noto il 28 ottobre che un attaccante ha tentato di sfruttarla contro il server GitLab del progetto il 20 e 21 ottobre.

Chi è coinvolto e come entrano gli attaccanti

Sono coinvolte le edizioni Community ed Enterprise autogestite a partire dalla 19.2; GitLab.com e Dedicated sono già corretti. Il bug si trova in Onigmo, il motore di espressioni regolari integrato in Ruby, e la correzione di GitLab modifica il Ruby incluso nei pacchetti e nelle immagini ufficiali. Alpine ha prima installato per errore la 19.3.4, poi la 19.3.6 in un’immagine basata su Ruby standard, priva della correzione. Con un account nuovo e configurazioni CI manipolate, l’attaccante ha causato otto arresti anomali dei processi GitLab. Alpine non ha trovato prove di esecuzione di codice, ma non potendola escludere ha ricostruito il server da zero, reimpostato tutte le password e sostituito le chiavi segrete di GitLab. Il progetto afferma che release e pacchetti sono stati verificati e non risultano alterati, e che le chiavi di firma non sono mai state su quel server.

Cosa fare ora

  1. Verificate la versione con sudo gitlab-rake gitlab:env:info.
  2. Aggiornate all’ultima patch del vostro ramo: 19.5.3, 19.4.5, 19.3.7 o 19.2.10.
  3. Se compilate GitLab in proprio (dai sorgenti o in un vostro container), controllate ruby -v: servono 3.3.13, 3.4.12, 4.0.9 o successive. Scaricate di nuovo alpinelinux/gitlab:19.3.6 se l’avete ottenuta prima del 27 ottobre; i tag precedenti sono vulnerabili.
  4. Cercate tracce: applicate le sei regole di rilevamento pubblicate da GitLab ed esaminate arresti dei processi, errori 502, job CI falliti e account registrati di recente. Un risultato pulito dimostra poco: secondo Alpine, uno sfruttamento riuscito non lascia né arresti anomali né tracce nei log web.
  5. In caso di dubbio, ricostruite e sostituite chiavi segrete, password, variabili CI/CD, token dei runner e segreti dei webhook. Richiedete l’approvazione di un amministratore per i nuovi account.
  6. Controllate le altre applicazioni Ruby: il codice che passa input non attendibili a Regexp.new, Regexp.union o a un pattern interpolato ha bisogno di un Ruby corretto. Secondo il team di Ruby, né Regexp.timeout né un limite di lunghezza proteggono in modo affidabile.

Il nostro parere

Un numero di versione non dimostra che un server sia corretto quando la correzione risiede in una dipendenza: il controllo deve riguardare l’intera build, soprattutto per le immagini personalizzate. Una forge concentra codice sorgente e segreti di distribuzione e non dovrebbe restare aperta a tutta Internet. Conservate log sufficienti, comprese le connessioni in uscita, per poter rispondere quando si pone la questione di una compromissione.

Fonti

Come scegliamo, verifichiamo e scriviamo le nostre analisi →

Il vostro server è esposto? Fate un test gratuito — solo informazioni pubbliche, senza intrusione:

Verificare un server Verificare un sito

Temi che i tuoi server siano esposti? Il nostro team verifica, aggiorna e monitora infrastrutture Linux e cloud 24/7.

Parla con un esperto I nostri servizi di gestione server →