Oltre 1.000 server GitLab accessibili da Internet non hanno ancora corretto una vulnerabilità critica già utilizzata in attacchi di esecuzione remota di codice. Shadowserver ha riferito di continuare a monitorare queste istanze, nonostante GitLab abbia pubblicato aggiornamenti di sicurezza il 12 ottobre.
Il difetto, identificato come CVE-2026-97229, interessa il compilatore di espressioni regolari di CI/CD. Un overflow di interi può consentire a un'espressione appositamente preparata nella configurazione di una pipeline di portare all'esecuzione di codice sul server interessato.
Un'espressione regolare preparata per sfruttare il difetto
GitLab ha descritto il problema come una convalida insufficiente delle espressioni regolari. In determinate condizioni, un utente non autenticato poteva eseguire codice arbitrario tramite un'espressione inserita in una configurazione CI/CD. L'azienda ha pubblicato le correzioni per GitLab Community Edition e Enterprise Edition nelle versioni 19.4.2, 19.3.5 e 19.2.8.
“GitLab has remediated an issue that, under certain conditions, could have allowed an unauthenticated user to execute arbitrary code on the GitLab server via a specially crafted regular expression in a CI/CD configuration, due to insufficient regular expression validation,”
— GitLab
Rapid7 ha assegnato alla vulnerabilità un punteggio CVSS 10.0 e ha riprodotto l'esecuzione di codice su un'immagine ufficiale senza patch di GitLab CE. Nei suoi test, la catena richiedeva la possibilità di inserire un file .gitlab-ci.yml dannoso in un progetto pubblico. Rapid7 osserva che, nelle istanze che consentono la registrazione degli utenti e la creazione di progetti, un account standard può soddisfare questo requisito.
Questa precisazione descrive il percorso testato da Rapid7; GitLab ha dichiarato che, in determinate condizioni, il difetto poteva essere sfruttato senza autenticazione. La differenza è importante per valutare l'esposizione, ma non cambia la raccomandazione di aggiornare le installazioni self-managed interessate.
Alpine Linux ha rilevato un tentativo che non è arrivato all'esecuzione
Lo sfruttamento aveva già raggiunto obiettivi specifici. SecurityWeek ha riferito che Alpine Linux ha rilevato un attacco contro la propria istanza GitLab il 20 e 21 ottobre. L'attaccante ha utilizzato un account appena registrato per inviare configurazioni CI/CD appositamente preparate, che hanno causato l'arresto del processo di lavoro.
Alpine ha dichiarato che il tentativo non è riuscito a eseguire codice, anche se non ha potuto escludere del tutto che il server fosse stato compromesso. In quattro degli arresti, l'attaccante avrebbe portato avanti una parte dell'exploit prima di fallire. Ha anche scaricato l'immagine container di GitLab di Alpine, un'azione che, secondo la distribuzione, suggeriva che stesse adattando l'exploit a quella build. Alpine ha ricostruito l'istanza e verificato che il repository aports, i pacchetti e le pubblicazioni del 21 ottobre non fossero stati alterati.
Il caso ha inoltre evidenziato una particolarità delle installazioni che usano una versione propria di Ruby: Alpine ha spiegato che nel suo ambiente aggiornare GitLab non è bastato, perché la vulnerabilità interessa anche il motore di espressioni regolari Onigmo di Ruby. Per chi esegue GitLab con una versione di Ruby compilata dal codice sorgente o inclusa in un'immagine personalizzata, Alpine ha indicato che è necessario aggiornare anche Ruby a una versione corretta.
Quali versioni devono essere aggiornate
La Cybersecurity and Infrastructure Security Agency degli Stati Uniti (CISA) ha inserito CVE-2026-97229 nel proprio catalogo delle vulnerabilità note sfruttate. Rapid7 colloca l'inserimento al 29 ottobre; BleepingComputer riferisce che CISA ha ordinato alle agenzie federali di proteggere i propri server entro domenica.
Le installazioni self-managed di GitLab CE e EE devono essere aggiornate alla versione corretta del rispettivo ramo: 19.2.8, 19.3.5 o 19.4.2, a seconda dei casi. GitLab.com è già in esecuzione su una versione con patch e i clienti di GitLab Dedicated non devono intervenire, secondo l'azienda.
Fino al completamento dell'aggiornamento, Rapid7 raccomanda di limitare l'accesso anonimo ai progetti pubblici e di impedire agli utenti non attendibili di creare o modificare progetti pubblici. L'azienda avverte che queste misure riducono l'esposizione al percorso di attacco riprodotto, ma non correggono il compilatore vulnerabile. Oltre agli oltre 1.000 server interessati da questo difetto, Shadowserver conta anche più di 11.300 istanze vulnerabili a un altro difetto del compilatore di espressioni regolari, CVE-2026-110264.
Fonti: BleepingComputer, Rapid7, Censys, SecurityWeek