Un'illustrazione astratta generata su un campo grigio-azzurro pallido: una lunga corsia orizzontale di pipeline formata da sottili contorni grigio-ardesia scuro attraversa il centro, con un singolo nodo agente arrotondato posizionato su di essa. Dal bordo sinistro, un flusso non marcato di piccoli frammenti irregolari confluisce in quel nodo attraverso una fessura nel suo contorno anziché attraverso l'ingresso etichettato sopra di esso. A valle, un gruppo molto più grande di blocchi rettangolari impilati si trova dietro una linea di confine tratteggiata. Una luce ciano traccia il percorso legittimo sopra il nodo; una luce ambra traccia i frammenti che entrano attraverso la fessura. Dietro si trova una tenue griglia da blueprint. Non compaiono testo, numeri, persone, marchi o loghi di organizzazioni. Il logo OrcaRouter è composto nell'angolo in basso a destra.
AI Safety Incidents

Il Duo Claude Agent di GitLab potrebbe eseguire comandi arbitrari in CI. Nessuno ha dimostrato che sia stato usato.

Autore

Elias Hawthorne

Data di pubblicazione

Ultimi modelli · 20Vedi tutti i modelli →
Benchmark: Artificial Analysis · aggiornato ogni giorno
Torna a tutti gli articoli

GitLab ha rilasciato release corrette il 26 agosto 2026 per una vulnerabilità ad alta gravità nell'agente AI Duo Claude, l'agente basato su Claude che l'avviso di GitLab colloca in un contesto CI. Tracciata come CVE-2026-18252, la vulnerabilità consentiva a un utente autenticato con ruolo Developer di far eseguire comandi arbitrari all'interno di un job CI, poiché l'agente elaborava configurazioni da una fonte controllata dall'utente senza validare la loro provenienza. GitLab l'ha valutata 7.3 sulla scala CVSS 3.1 e ha limitato l'intervallo interessato a GitLab Enterprise Edition: versioni dalla 18.9 fino alla 19.1.7 esclusa, dalla 19.2 fino alla 19.2.5 e dalla 19.3 fino alla 19.3.1. GitLab.com eseguiva già il codice corretto, e ai clienti GitLab Dedicated è stato detto di non intraprendere alcuna azione. Nessuna fonte esaminata per questo articolo riporta che qualcuno l'abbia sfruttata, e nessuna proof of concept è stata pubblicata in fonti aperte. La voce dell'archivio relativa a questo incidente, con i suoi livelli di gravità e affidabilità, si trova in Orca AI Incident Archive, insieme ai record vicini della stessa settimana.

Cosa dice l'avviso, e cosa tralascia

Il documento principale è breve. Le note di rilascio delle patch di GitLab per le versioni 19.3.1, 19.2.5 e 19.1.7, pubblicate lo stesso giorno, elencano sette correzioni di sicurezza. La prima, contrassegnata come Alta, ha come titolo "Inclusion of Functionality from Untrusted Control Sphere issue in Duo Claude AI agent impacts GitLab EE", e la sua descrizione in prosa si limita a una sola frase. GitLab afferma di aver "rimediato a un problema per cui, in determinate condizioni, un utente autenticato con permessi di ruolo developer avrebbe potuto eseguire comandi arbitrari in un contesto CI, a causa dell'elaborazione da parte dell'agente Claude di configurazioni provenienti da una fonte controllata dall'utente". Questa è l'intera descrizione tecnica pubblicata dal fornitore.

Il record CVE, che GitLab stesso ha assegnato, aggiunge struttura anziché sostanza. Classifica la debolezza come CWE-829, ripete gli intervalli interessati e il punteggio CVSS 7.3, e registra che l'identificatore è stato riservato il 29 luglio 2026 e pubblicato il 26 agosto alle 13:36 UTC. Il rapporto di bug bounty che GitLab accredita, il report HackerOne 3863650, ha restituito un 403 a una richiesta non autenticata il 29 ottobre 2026, quindi il suo dettaglio tecnico non è pubblico, e l'elemento del tracker che il record CVE collega come riferimento — l'elemento di lavoro gitlab-org/gitlab 607342 — non conteneva alcun contenuto leggibile del problema in quella verifica.

Ciò che l'avviso non dice è la parte che chi deve difendersi vorrebbe conoscere. Non indica la funzionalità di Duo coinvolta, il campo di configurazione letto dall'agente né la forma assunta dalla fonte controllata dall'utente — che si tratti di un file di repository, di una variabile di pipeline, di un commento in un issue o in una merge request, oppure di un parametro API. Nessuno di questi elementi è riportato nelle note di GitLab, nel record CVE o nella copertura della stampa specializzata esaminata per questo articolo. La documentazione di prodotto di GitLab descrive però un percorso di Claude verso la CI: gli agenti esterni, che secondo la documentazione eseguono una pipeline CI/CD quando vengono menzionati in un issue, in un epic o in una merge request, e per i quali esiste un esempio di configurazione di Claude Code. Nulla di quanto esaminato collega tale percorso a CVE-2026-18252. È il contesto che spiega perché un agente Claude possieda privilegi CI in primo luogo, non il meccanismo del bug.

La stessa documentazione parla apertamente della classe di rischio. La pagina sugli agenti esterni di GitLab elenca le vulnerabilità di prompt injection tra i rischi che i clienti accettano attivando la funzionalità, e descrive la scansione dei prompt di terze parti che implementa come mitigazione. Quella pagina non menziona CVE-2026-18252, e l'avvertenza non ne è una descrizione. Mostra però che l'input non attendibile che raggiunge un agente con accesso alla pipeline è un rischio che la documentazione di GitLab stessa chiede già ai clienti di accettare.

A self-built HTML card titled 'The disclosure, in GitLab's terms', badged 'CVE-2026-18252 · published 26 August 2026'. Nine labelled rows read: weakness class, CWE-829 inclusion of functionality from an untrusted control sphere; CVSS per GitLab, 7.3 High on the vector network, low complexity, low privileges, user interaction required, high confidentiality and integrity impact, no availability impact; CVSS per NIST, 8.1 on the same vector with user interaction marked not required; affected, GitLab EE from 18.9 before 19.1.7, 19.2 before 19.2.5, and 19.3 before 19.3.1; fixed, the same dates in versions 19.1.7, 19.2.5 and 19.3.1; reporter, thwin_htet through GitLab's HackerOne programme, report 3863650; hosted instances, GitLab.com already patched, GitLab Dedicated no action required; workaround, none published; exploitation, none reported in any source reviewed. A footer reads 'Sources: GitLab patch release notes for 19.3.1, 19.2.5 and 19.1.7; the CVE-2026-18252 record as stored in NVD; OpenCVE; CERT Sante, 27 August 2026.' The OrcaRouter logo is composited in the bottom-right corner.

Il contesto CI è dove si trovano le credenziali

La frase che veicola la gravità è «in a CI context». Un job di pipeline non è una sandbox giocattolo; viene eseguito con un token del runner e con qualunque segreto il progetto gli abbia esposto. Cyber Security News, nel riportare la patch del 27 agosto 2026, elenca ciò a cui tali job comunemente accedono — codice sorgente, artefatti di build, credenziali di deployment, token cloud e credenziali dei repository dei pacchetti — e osserva che l'esecuzione di comandi in una pipeline potrebbe esporre variabili CI, alterare artefatti di build, manomettere i workflow di release o spingersi più a fondo nell'infrastruttura connessa, a seconda della configurazione del runner e dello scope del token. L'articolo di GBHackers dello stesso giorno usa la stessa impostazione. Nessuna delle due testate riporta un caso in cui sia accaduto.

Questa distinzione determina come deve essere interpretata la vulnerabilità. Si tratta di un bug di esecuzione di comandi in un componente agentico, non della dimostrazione di un modello che si comporta in modo errato: il record descrive una configurazione prelevata da una fonte controllata dall'utente e l'agente che agisce su di essa. Nessuna fonte esaminata descrive l'exploit come una prompt injection riuscita, e l'avviso di GitLab non attribuisce mai l'esito a una valutazione del modello. La debolezza registrata è codice che si fida di una fonte di configurazione di cui non dovrebbe fidarsi — CWE-829, inclusione di funzionalità da una sfera di controllo non attendibile.

Due punteggi CVSS e un passaggio di interazione

Il 7,3 di GitLab non è l'unico punteggio associato all'identificatore. Nello stesso record NVD, la valutazione primaria di NIST è 8,1. I due vettori sono identici tranne che in una componente: GitLab indica l'interazione utente come necessaria, mentre NIST no. Entrambi i punteggi si collocano nella fascia alta, quindi la differenza pratica riguarda meno la gravità che le condizioni in cui il bug si manifesta. CERT Santé, il team di risposta alle emergenze informatiche del ministero della Salute francese, ha pubblicato un avviso il 27 agosto 2026 che segue l'interpretazione di GitLab: 7,3, interazione utente necessaria, e un trigger descritto come un'interazione che avvia l'elaborazione della configurazione.

I segnali di sfruttamento sono silenziosi, e ognuno di essi è una lettura del record anziché della telemetria. La valutazione SSVC che il ruolo di coordinatore della CISA ha memorizzato nella voce NVD del 26 agosto 2026 registra lo sfruttamento come "none", l'automazione come "no" e l'impatto tecnico come "total". Il modello EPSS di FIRST ha fissato la probabilità di sfruttamento a 0,00519, poco più di mezzo punto percentuale, il 28 ottobre 2026, nel 44º percentile delle vulnerabilità valutate. Il record di OpenCVE riporta lo stesso valore EPSS e indica la CVE come assente dal catalogo Known Exploited Vulnerabilities della CISA. L'allerta di CERT Santé registra "sfruttamento attivo: no" e aggiunge che a quella data non esisteva alcun proof of concept nelle fonti aperte. Niente di tutto ciò è prova che nessuno abbia provato; è l'assenza di qualsiasi tentativo registrato.

Almeno un aggregatore, {{1}}Mallory{{/1}}, diffonde un punteggio di {{2}}8.7{{/2}} per lo stesso identificatore. Il record di NVD non riporta alcuna metrica CVSS 4.0 — solo {{4}}7.3{{/4}} di {{3}}GitLab{{/3}} e {{6}}8.1{{/6}} di {{5}}NIST{{/5}} — quindi quel valore non è riproducibile da nessuna fonte di prima parte esaminata, e non viene usato qui.

Che cosa è stabilito e che cosa non lo è

L'archivio classifica questa voce con attendibilità A, non contestata, senza che sia registrato alcun danno reale. Quel livello di attendibilità ha qui un peso concreto: i documenti concordano tra loro e nessuno di essi descrive un danno. La suddivisione che segue è la parte che un riassunto in una riga non può trasmettere.

• Accertato: una vulnerabilità nell'agente AI Duo Claude ha consentito a un ruolo Developer autenticato di eseguire comandi arbitrari in un contesto CI, poiché l'agente elaborava configurazioni provenienti da una sorgente controllata dall'utente. GitLab ha assegnato CWE-829 e CVSS 7.3.

• Stabilito: gli intervalli interessati e la correzione — dalla 18.9 fino alla 19.1.7, dalla 19.2 fino alla 19.2.5, dalla 19.3 fino alla 19.3.1, corretta il 26 agosto 2026 nelle versioni 19.1.7, 19.2.5 e 19.3.1. La vulnerabilità è registrata a carico di GitLab EE; la stessa release ha correto anche la CE, per un difetto diverso.

• Accertato: il riconoscimento del segnalatore attribuito a thwin_htet tramite il programma HackerOne di GitLab, e lo stato operativo che GitLab ha comunicato ai clienti — GitLab.com già corretto, GitLab Dedicated fuori dall'ambito dell'intervento necessario, installazioni self-managed a cui è stato indicato di aggiornare immediatamente.

• Accertato: non è stato segnalato alcuno sfruttamento. La valutazione SSVC della CISA non ne indica alcuno; l'EPSS è rimasto sotto l'uno per cento fino alla fine di ottobre 2026; la CVE non figura nel catalogo KEV secondo OpenCVE; CERT Santé non ha registrato alcuno sfruttamento attivo il giorno successivo alla divulgazione.

• Attribuito, non confermato dal fornitore: le descrizioni dell'impatto — segreti leggibili, artefatti alterabili, release manomettibili — sono il resoconto della copertura di ciò che l'ambito del token di un job CI consente generalmente, non la constatazione che qualcuna di queste cose sia avvenuta in questo caso. Cyber Security News e GBHackers le presentano entrambi con “potrebbe” e “a seconda dei casi”; nessuno dei due riporta un episodio.

• Non stabilito:quale funzionalità di Duo e quale campo di configurazione fossero coinvolti, e quale fosse effettivamente la fonte controllata dall'utente. L'affermazione del fornitore non li identifica.

• Non stabilito: quante installazioni Enterprise self-managed rientravano negli intervalli interessati, quante sono state aggiornate dopo il 26 agosto 2026 o se alcune siano state attaccate. Nessuna fonte esaminata misura l'adozione, e il fornitore non ha pubblicato alcun metodo di rilevamento per le istanze correttate in ritardo.

• Non ancora stabilito: il meccanismo tecnico. Secondo la regola dei 90 giorni di GitLab, la questione diventa pubblica intorno a fine novembre 2026; fino ad allora l'elemento del tracker collegato è un rimando a una spiegazione che non esiste ancora pubblicamente.

A generated abstract illustration on a pale grey-blue field: a small outlined account node sits at the lower left, linked upward by a single thin line to a larger rounded agent node, which in turn connects to a rectangular job container outlined in dark slate. Inside the container, a stack of pale rectangular credential blocks is drawn behind a dotted boundary. The connecting line from the agent passes straight through that boundary rather than around it, and a short amber segment marks where it crosses. A faint second line, drawn in light cyan, runs outside the boundary and stops short. A faint blueprint grid sits behind. No text, numbers, people, brand marks or organisation logos appear. The OrcaRouter logo is composited in the bottom-right corner.

La correzione, il tempo di inattività e l'attesa di 90 giorni

{{1}}GitLab{{/1}} ha rilasciato 19.3.1, 19.2.5 e 19.1.7 sia per Community Edition sia per Enterprise Edition il 26 agosto 2026, e ha affermato che raccomanda vivamente che tutte le installazioni autogestite vengano aggiornate immediatamente a una di queste versioni. La parte del rilascio relativa a Community Edition è importante perché un'altra vulnerabilità della stessa serie — CVE-2026-77801, un problema di denial-of-service nelle pipeline di importazione con valutazione 6,5 — interessa sia CE sia EE. La stessa CVE-2026-18252 è registrata esclusivamente a carico di Enterprise Edition.

Non esiste alcuna soluzione alternativa da parte del fornitore. L'avviso di CERT Santé riporta che non esiste alcun workaround e le note di GitLab non ne offrono alcuno; l'unico rimedio indicato è l'aggiornamento. Neppure la release è una sostituzione diretta: include migrazioni regolari del database su tutte e tre le versioni e migrazioni post-distribuzione su 19.3.1 e 19.2.5, che, secondo GitLab, causeranno tempi di inattività sulle installazioni a nodo singolo durante il completamento delle migrazioni. Le distribuzioni multi-nodo possono utilizzare la procedura di aggiornamento senza tempi di inattività di GitLab.

A self-built HTML card titled 'From reserved identifier to public detail', subtitled 'CVE-2026-18252, the dates that are on the record'. Five timeline rows read: 29 July 2026, GitLab reserves the CVE identifier; 26 August 2026 at 13:36 UTC, the CVE is published and 19.3.1, 19.2.5 and 19.1.7 ship with the fix; 27 August 2026, CERT Sante publishes an alert recording no active exploitation and no workaround; 28 October 2026, FIRST's EPSS puts exploitation probability at 0.00519, the 44th percentile; late November 2026, GitLab's 90-day rule expires and the issue detail becomes public. A footer reads 'Sources: CVE-2026-18252 record metadata; GitLab patch release notes, 26 August 2026; CERT Sante alert, 27 August 2026; FIRST EPSS API, read 29 October 2026; GitLab disclosure policy.' The OrcaRouter logo is composited in the bottom-right corner.

Le altre sei correzioni meritano uno sguardo perché una di esse è vicina al tema di questa voce. CVE-2026-15387, valutata 4.3 e corretta nelle stesse tre versioni, consentiva a un utente autenticato con autorizzazioni del ruolo developer di influenzare l'ambiente di esecuzione dei job di applicazione di Pipeline Execution Policy tramite una gestione impropria delle dipendenze dei job. Due percorsi con ruolo developer verso l'esecuzione dei job, uno valutato High e uno Medium, chiusi nella stessa patch.

La politica di divulgazione di GitLab spiega perché il meccanismo rimane opaco. Le sue note di patch indicano che le issue che descrivono nel dettaglio ogni vulnerabilità vengono rese pubbliche sul tracker delle issue 90 giorni dopo la release in cui sono state correttate. Partendo dal 26 agosto 2026, questo colloca l'analisi tecnica di CVE-2026-18252 nell'ultima settimana di novembre 2026. Fino a quel momento, il riferimento al tracker nel record CVE non ha dietro di sé alcuna analisi tecnica pubblica che questo articolo possa consultare.

Dove si colloca rispetto all’altra falla dell’agente di GitLab

GitLab ha divulgato una seconda vulnerabilità separata, correlata agli agenti, il 2 ottobre 2026: CVE-2026-90970, con un punteggio di 9,9, nell'AI Gateway anziché nell'agente AI Duo Claude, e raggiungibile tramite un modello di prompt di flusso costruito ad hoc anziché tramite la configurazione CI. Si tratta di due bug diversi in componenti diversi con punteggi diversi, e l'archivio li conserva come voci separate. Ciò che condividono è la forma — un componente AI nel percorso di distribuzione che agisce su una configurazione che un utente con privilegi inferiori può influenzare — ed è per questo che vale la pena leggere quello di ottobre accanto a questo, anziché al posto di questo.

Per un operatore, la decisione è limitata. Controllare la versione: 19.1.7, 19.2.5 e 19.3.1 sono le release corrette, e qualsiasi versione nei tre intervalli indicati è interessata. Non esiste alcuna soluzione alternativa da applicare nel frattempo, e fino a fine novembre non esiste una descrizione tecnica pubblicata rispetto alla quale verificare un'istanza corretta in ritardo. Ciò che esiste è un registro in cui nessuno ha segnalato uno sfruttamento — il che è un'affermazione sull'assenza di prove, non una garanzia del fornitore che non si sia verificata alcuna violazione.