Una vulnerabilità critica in Gemini CLI di Google permette l’esecuzione di codice malevolo su piattaforme CI senza testa
Attenzione immediata: Se utilizzi Gemini CLI o l’azione GitHub run-gemini-cli in ambienti CI/CD, sei potenzialmente esposto a un rischio di sicurezza critico che permette l’esecuzione di codice malevolo a livello di host. La soluzione rapida è aggiornare immediatamente alle versioni patched: @google/gemini-cli 0.39.1 o 0.40.0-preview.3 e google-github-actions/run-gemini-cli 0.1.22. Non attendere, poiché questa vulnerabilità è stata classificata con il punteggio massimo di severità CVSS 10.0, il che significa che un attaccante non privilegiato può eseguire comandi arbitrari sul tuo sistema prima che qualsiasi protezione di sandbox si attivi.
Una vulnerabilità di sicurezza estremamente grave ha recentemente emergo in Google Gemini CLI, un nuovo strumento di interfaccia a linea di comando progettato per semplificare le interazioni con l’AI Gemini, e nell’azione GitHub associata run-gemini-cli. Questo problema di sicurezza mette a rischio le piattaforme di integrazione continua (CI) che operano in modalità “senza testa” (headless), ovvero senza un’interfaccia utente diretta o un’approvazione umana in tempo reale. Quando questi sistemi processano spazi di lavoro non attendibili, come richieste di pull (pull requests) da repository esterni, la vulnerabilità permette l’esecuzione di codice malevolo a livello di host, bypassando completamente le protezioni di sandboxing prima che il sistema di AI abbia la possibilità di ragionare o prendere decisioni.
La vulnerabilità è stata identificata come CVE-2026-12537 (con l’advisory GHSA-wpqr-6v78-jr5g) e ha ricevuto la massima severità possibile secondo lo standard CVSS v4.0. Il problema nasce da un’errata gestione dei comandi del sistema operativo nel launcher del container e da presupposti insicuri riguardo alla configurazione dello spazio di lavoro e all’esecuzione degli strumenti in ambienti non interattivi, come quelli tipici di GitHub Actions. In sostanza, il sistema fidava automaticamente dello spazio di lavoro corrente in modalità senza testa, caricando qualsiasi configurazione trovata senza verificarla, senza incapsulamento (sandboxing) e senza approvazione umana.
Perché questo è pericoloso per le tue pipeline CI/CD
In ambienti CI/CD che revisionano richieste di pull da utenti o contenuti di repository non attendibili, questo comportamento permette a un file di configurazione dannoso, come un file .gemini/.env posizionato in anticipo, di essere interpretato come una configurazione legittima. Questo meccanismo consente l’esecuzione di codice remoto sull’host sottostante prima che qualsiasi protezione di sandbox possa essere applicata. Il risultato è che un attaccante esterno senza privilegi può ottenere accesso ai segreti, alle credenziali e al codice sorgente che la pipeline può raggiungere, permettendo il furto di token, il pivot nella catena di fornitura e il movimento laterale verso sistemi downstream.
Google ha rilasciato aggiornamenti di rafforzamento per allineare la modalità senza testa alla modalità interattiva, richiedendo ora la fiducia esplicita nei folder prima che i file di configurazione, come .env, siano processati. Questo cambiamento fondamentale elimina la fiducia automatica che era presente nelle versioni precedenti e protegge contro l’inserimento di configurazioni dannose da repository esterni.
Technical Deep Dive
Per gli utenti tecnici e gli esperti di sicurezza, ecco un’analisi dettagliata dei meccanismi di fallimento e delle implicazioni tecniche precise:
Meccanismo di Fallimento della Fiducia dello Spazio di Lavoro
Il cuore della vulnerabilità risiede nella gestione della fiducia dello spazio di lavoro (workspace trust) in ambienti non interattivi. In modalità “senza testa” (headless), come nei job CI/CD, Gemini CLI ha automaticamente fidato del folder dello spazio di lavoro corrente. Questo significa che qualsiasi configurazione dello agente trovata in quella directory veniva caricata senza revisione, sandboxing o approvazione umana. Un attaccante che poteva inserire contenuti nello spazio di lavoro di un repository, ad esempio tramite una richiesta di pull, poteva piantare una configurazione che l’agente avrebbe fidato silenziosamente e agito su di essa. Il risultato è l’esecuzione diretta di comandi sull’host che esegue l’agente, prima che il suo sandbox si inizializzasse.
Iniezione di Comandi e Allowlisting Insicura
La vulnerabilità è ulteriormente aggravata dalla precedente gestione di Gemini CLI dell’allowlisting degli strumenti sotto la modalità “–yolo”. Questa modalità ha ignorato le restrizioni degli strumenti fine-granulari definite in ~/.gemini/settings.json. Quando i workflow permettevano run_shell_command mentre processavano input non attendibili, gli attaccanti potevano sfruttare la manipolazione a livello di prompt e un allowlist mal configurato per eseguire comandi arbitrari. Questo trasforma efficacemente le pipeline CI assistite dall’AI in un vettore per attacchi alla catena di fornitura (supply-chain attacks).
Classificazione delle Vulnerabilità e Implicazioni
Il problema è correlato a diverse categorie di Common Weakness Enumeration (CWE), tra cui:
- CWE-20: Validazione errata dell’input (Improper Input Validation)
- CWE-77: Iniezione di comandi (Command Injection)
- CWE-78: Iniezione di comandi OS (OS Command Injection)
- CWE-200: Esposizione di informazioni sensibili (Exposure of Sensitive Information)
Queste categorie riflettono sia l’analisi errata dei dati ambientali sia la potenziale possibilità di movimento laterale ed esfiltrazione di dati da host CI compromessi.
Dettagli sulle Versioni Parchiate
Le versioni corrette includono:
- @google/gemini-cli 0.39.1 e 0.40.0-preview.3
- google-github-actions/run-gemini-cli 0.1.22
Tutti i precedenti workflow di Action sono implicitamente afectados. Per input attendibili, Google raccomanda di impostare GEMINI_TRUST_WORKSPACE: ‘true’ nei workflow. Gli utenti che gestiscono contenuti non attendibili sono invitati a seguire le indicazioni di rafforzamento nel repository run-gemini-cli e a configurare allowlist degli strumenti rigide che rimangono enforce anche in modalità –yolo.
Ricerca e Risarcimento
I ricercatori di sicurezza di Novee Security e Pillar Security, riconosciuti sotto il Programma di Risarcimento per le Vulnerabilità di Google, consigliano che gli ambienti CI/CD che utilizzano Gemini CLI devono considerare questo come un rischio per la catena di fornitura CI e auditare immediatamente le loro pipeline per presupposti di fiducia non sicuri e versioni obsolete di Gemini CLI.
Conclusione Tecnica
Non è necessaria alcuna iniezione di prompt o decisione del modello. Questa è un’execuzione a livello di infrastruttura prima che il sistema AI abbia mai dovuto ragionare. La vulnerabilità è stata classificata come problema P1/S1 e risolta nelle versioni indicate. Per qualsiasi utente che sceglie di non utilizzare sandboxing, è altamente visibile attraverso un avviso persistente in testo rosso durante tutta la sessione.
Fonte: https://gbhackers.com/critical-google-gemini-cli-flaw/




