Chi gestisce un server GitLab in proprio ha un nuovo aggiornamento da installare con urgenza. Con le versioni 19.4.1, 19.3.3 e 19.2.7, rilasciate il 23 settembre 2026, GitLab chiude 11 vulnerabilità nella Community Edition (CE) e nella Enterprise Edition (EE). Due sono classificate come critiche, entrambe con punteggio CVSS 9,9 su 10, e riguardano il modo in cui la piattaforma elabora le espressioni regolari. Il giorno successivo anche l'Agenzia per la Cybersicurezza Nazionale (ACN), tramite il CSIRT Italia, ha pubblicato un avviso che invita ad aggiornare.

GitLab è molto diffuso in Italia tra software house, università, pubbliche amministrazioni e aziende manifatturiere che sviluppano software interno: ospita il codice sorgente e soprattutto le pipeline CI/CD, cioè i processi automatici che compilano e distribuiscono il software. Un server compromesso in questo punto della filiera può diventare una porta d'accesso a molti altri sistemi.

Quali sono le due falle critiche?

Entrambi i difetti si trovano nel motore che interpreta le espressioni regolari (regex), usate per esempio nelle configurazioni CI/CD per decidere su quali branch far partire un job.

  • CVE-2026-89078: un errore di tipo double free nel parser, cioè un'area di memoria che viene liberata due volte.
  • CVE-2026-93577: un integer overflow nel compilatore, un valore numerico che supera il limite previsto.

Secondo il bollettino di GitLab, in entrambi i casi un utente autenticato poteva arrivare a eseguire codice arbitrario sul server. Le falle interessano solo i rami 19.2, 19.3 e 19.4. Serve un account, ma su molte istanze gli account sono numerosi: sviluppatori, consulenti esterni, a volte registrazioni aperte al pubblico. Per scelta non riportiamo dettagli utili a sfruttarle.

GitLab 19.4.1: le 11 vulnerabilità corrette per punteggio CVSS
Grafico: dasTECHNO · Dati: GitLab, Critical Patch Release del 23.09.2026

Le altre nove correzioni

Oltre alle due falle critiche, l'aggiornamento risolve due problemi di gravità alta, cinque di gravità media e due di gravità bassa. Diversi riguardano le funzioni di intelligenza artificiale introdotte negli ultimi mesi, come GitLab Duo e l'interfaccia MCP con cui gli agenti IA accedono ai progetti.

CVEComponenteGravitàCVSSSolo EE
CVE-2026-84739XSS nella vista dei diff delle merge requestalta8,7no
CVE-2026-92470Duo IA: accesso a variabili CI/CD dai log di debugalta7,7sì
CVE-2026-92874Permessi nell'API MCPmedia5,4no
CVE-2026-92530Falsificazione dell'autore nell'import Direct Transfermedia4,3no
CVE-2026-8937Autorizzazione mancante nell'API delle epicmedia4,3no
CVE-2026-92529Governance dei token in Duo Workflowmedia4,3sì
CVE-2026-10518Controllo accessi dei ruoli in GraphQLmedia4,3sì
CVE-2026-4523Autorizzazione sui log dei job CI in GraphQLbassa3,7no
CVE-2026-92628Race condition nello strumento di ricerca MCPbassa3,1no

Due dettagli meritano attenzione. La falla XSS nei diff è presente dalla versione 13.11, quindi da anni. Quella su Duo, invece, può esporre i valori delle variabili CI/CD, dove spesso sono salvati password, token e chiavi di accesso ai sistemi di produzione.

Chi deve aggiornare e a quale versione?

Vista di una pipeline CI/CD in GitLab con le fasi Build, Prepare, Test e Post-test
Immagine: GitLab

Gli utenti di GitLab.com non devono fare nulla: il servizio cloud gira già sulla versione corretta. Lo stesso vale per i clienti GitLab Dedicated. Devono intervenire solo le installazioni self-managed, sia CE sia EE.

Ramo installatoVersione da installare
19.419.4.1
19.319.3.3
19.219.2.7
precedente alla 19.2passare a un ramo supportato

Un avvertimento pratico: i pacchetti contengono migrazioni del database. Sulle installazioni a nodo singolo questo comporta un breve fermo durante l'aggiornamento, quindi conviene programmare una finestra di manutenzione. Le installazioni multi-nodo possono seguire la procedura ufficiale senza downtime. Le versioni 19.3.3 e 19.2.7 includono anche migrazioni post-deploy.

Cosa dice l'ACN

Il CSIRT Italia ha classificato l'aggiornamento con il bollettino AL03/260924/CSIRT-ITA del 24 settembre, attribuendo un impatto sistemico "Alto" (66,53). L'agenzia raccomanda di applicare le correzioni seguendo le indicazioni di GitLab. Per gli enti e le aziende che rientrano nel perimetro della normativa NIS2, tenere aggiornati sistemi esposti come un server di sviluppo fa parte degli obblighi di gestione del rischio; e se nei repository ci sono dati personali, una violazione può far scattare la notifica al Garante prevista dal GDPR.

Perché non conviene aspettare

Al momento della pubblicazione né GitLab né heise segnalano attacchi che sfruttano queste falle. Ma il precedente è recente: il 10 settembre GitLab aveva corretto la CVE-2026-85706, una path traversal nell'API dei commit con CVSS 10,0 che non richiedeva login, e nel giro di pochi giorni la CISA statunitense l'ha inserita nel catalogo delle vulnerabilità sfruttate attivamente. Con il rilascio del 17 agosto, quello del 23 settembre è il terzo aggiornamento "critico" in sei settimane.

Lo stesso schema, patch disponibile e attacchi poco dopo, si è visto con la falla di Roundcube CVE-2026-48842 e con la vulnerabilità di WordPress CVE-2026-87902. Dopo l'aggiornamento è utile anche verificare chi può creare pipeline o modificare le configurazioni CI, e se le registrazioni aperte sono davvero necessarie.

Nota: non abbiamo installato gli aggiornamenti; le informazioni provengono dal bollettino ufficiale di GitLab e dall'avviso ACN.

Domande frequenti

Chi usa GitLab.com deve fare qualcosa?

No. Secondo GitLab il servizio cloud è già aggiornato, così come GitLab Dedicated.

La Community Edition gratuita è coinvolta?

Sì. Le due falle critiche e la maggior parte delle altre riguardano sia CE sia EE; tre sono limitate alla Enterprise Edition.

Le falle sono già sfruttate?

Al momento non sono noti attacchi. Le due falle critiche richiedono un account sull'istanza, un requisito facile da soddisfare su server con molti utenti.

Quanto dura il fermo durante l'aggiornamento?

Dipende dalle dimensioni del database. Sulle installazioni a nodo singolo il servizio resta non disponibile finché le migrazioni non sono completate; le configurazioni multi-nodo possono aggiornarsi senza interruzioni.