// 1 CVE NELLE ULTIME 24H
Oren Yomtov di Accomplish AI ha scoperto e dimostrato due vulnerabilità di sandbox escape in OpenAI Codex — Heapjack e Overpatch — che permettono l'esecuzione di
{"main_topic":"vulnerabilita","topics":["cybersecurity","openai","ai","vulnerabilita","exploit"]}

Oren Yomtov di Accomplish AI ha scoperto e dimostrato due vulnerabilità di sandbox escape in OpenAI Codex — Heapjack e Overpatch — che permettono l'esecuzione di comandi non sandboxati sulla macchina host dell'utente, anche nella modalità read-only più restrittiva. Entrambe sono state segnalate il 12 agosto 2026 e patchate da OpenAI entro otto giorni.

Punti chiave
  • Heapjack sfrutta la condivisione di heap memory V8 tra contesto trusted e untrusted in Codex Desktop per estrarre il token di autenticazione e impersonare il processo parent nativo non sandboxato.
  • L'attacco si attiva aprendo un repository di terzi in Codex, azione di routine per gli sviluppatori, senza richiedere interazione o approvazione dell'utente.
  • Overpatch bypassa le restrizioni workspace-write di Codex CLI manipolando i permessi derivati dalla parent folder nei path della patch, consentendo scrittura arbitraria fino alla root del disco.
  • Il componente _node_repl_ che abilita Heapjack è attivo di default senza opt-in e senza opzione di disabilitazione; gli utenti CLI ereditano lo stesso tool dal file di configurazione condiviso.

Heapjack: quando l'heap condiviso mangia il confine di trust

Il meccanismo di Heapjack si annida nel componente _node_repl_ che Codex Desktop registra nel file globale ~/.codex/config.toml. Questo componente esegue codice trusted e untrusted all'interno dello stesso processo Node.js, condividendo la stessa heap memory V8. La promessa di isolamento si dissolve qui: i V8 contexts isolano i globals, non la memoria sottostante.

Il token di autorizzazione trusted risiede in questa memoria condivisa come una stringa leggibile. Il codice untrusted lo estrae tramite v8.getHeapSnapshot(), poi lo valida per brute-force: una risposta "not authorized" indica token errato, mentre un errore di validazione reale su argomento malformato conferma il token corretto. Con questa credenziale, il codice untrusted scrive richieste sulla stessa pipe usata dal contesto trusted per dialogare con il processo parent nativo, completamente fuori dal sandbox.

La proof-of-concept di Yomtov ha utilizzato il comando di sistema 'open' per lanciare un'applicazione esterna al process tree di Codex, con accesso potenziale a qualsiasi Unix socket incluso il Docker daemon socket. Secondo BleepingComputer, tutto questo avviene in modalità read-only, "the strictest sandbox mode, where the agent is not supposed to write anything at all".

Overpatch: il percorso che inganna i permessi

La seconda vulnerabilità risiede nel Codex CLI open-source e colpisce il tool apply_patch. Il meccanismo di enforcement deriva i permessi di scrittura dalla parent folder di ogni path nominato in una patch: nominare '/tmp' estende i permessi fino alla root del disco, bypassando le restrizioni workspace-write.

L'exploit dimostrato da Yomtov combina due modifiche in una singola patch: una che nomina '/tmp' per ampliare i permessi di scrittura, e una che appende una riga a .zshrc nella home directory dell'utente, raggiungibile tramite symlink. Il risultato è esecuzione di codice persistente con i privilegi dell'utente che esegue Codex CLI.

La struttura comune: il controllo che si controlla da solo

"In each case the sandbox was told, from the inside, to let something through." — BleepingComputer

Entrambi i bug condividono una forma architetturale identica: il meccanismo di enforcement risiede all'interno di ciò che dovrebbe controllare. Nel caso di Heapjack, il componente _node_repl_ che gestisce il confine di trust gira nello stesso spazio di memoria del codice non trusted. Nel caso di Overpatch, il tool apply_patch che dovrebbe limitare la scrittura deriva i propri permessi da input potenzialmente manipolati dall'attaccante.

Un commentatore su X, citato da BleepingComputer, ha sintetizzato il problema con una metafora precisa: il confine di trust è "a room divider" — un divisorio, non un muro. La seconda citazione riportata dalla testata specializzata rafforza il punto: "V8 contexts isolate globals, not memory, so the sandbox was really a promise the heap never agreed to".

Questa struttura — il controllo annidato nell'oggetto controllato — non è un errore di implementazione isolabile, ma un problema di design che attraversa entrambe le vulnerabilità. Il componente _node_repl_ è abilitato di default senza opt-in e senza impostazione per disabilitarlo; perché l'entry risiede nel file di configurazione condiviso, anche gli utenti della sola CLI ereditano lo stesso tool senza essere mai stati informati.

Timeline e correzioni: otto giorni tra segnalazione e patch

Secondo Oren Yomtov di Accomplish AI, entrambe le vulnerabilità sono state segnalate a OpenAI il 12 agosto 2026. La risposta è arrivata entro otto giorni: OpenAI ha corretto Heapjack in Codex Desktop build 26.818.21641 e Overpatch in Codex CLI versione 0.149.0.

La velocità di risposta non cancella però la superficie di attacco esposta. Il dossier non documenta se OpenAI abbia pubblicato una advisory ufficiale oltre ai fix silenziosi, né quanti utenti siano effettivamente interessati dal componente _node_repl_ abilitato di default. Non emergono sovrapposizioni infrastrutturali che colleghino queste vulnerabilità a exploit in-the-wild al di là delle proof-of-concept dei ricercatori.

Cosa fare adesso

  • Aggiornare immediatamente Codex Desktop alla build 26.818.21641 o successiva per mitigare Heapjack.
  • Aggiornare Codex CLI alla versione 0.149.0 o successiva per mitigare Overpatch.
  • Verificare la presenza del componente _node_repl_ nel file ~/.codex/config.toml e valutare se la propria installazione ne è interessata.
  • Rivalutare l'apertura di repository di terzi in Codex Desktop senza precedente audit del codice, data l'attivazione automatica del componente vulnerabile.

Il problema sistemico degli agenti AI che controllano se stessi

Heapjack e Overpatch non sono flaw di prodotto isolati. Si inseriscono in un filone di ricerca che sta mappando la fragilità strutturale degli agenti AI di coding. Nel luglio 2026, Pillar Security aveva già dimostrato tecniche di attacco indiretto su Cursor, Codex CLI, Gemini CLI e Antigravity, sfruttando file generati dall'agente per manipolare il comportamento successivo. Nell'agosto 2026, lo stesso Yomtov ha scoperto vulnerabilità separate in Docker Sandboxes (CVE-2026-77179 e CVE-2026-79994, come riportato da The Hacker News), dimostrando che il problema attraversa i confini del singolo prodotto.

Il punto di lettura è qui: gli agenti AI che eseguono codice richiedono sandbox che non condividano risorse memory con il codice non trusted, e meccanismi di enforcement che non derivino i propri permessi da input dell'attaccante. Finché l'architettura di isolamento riposerà su promesse che l'hardware e il sistema operativo non possono onorare, ogni sandbox sarà un divisorio mobiliabile, non una cella a prova di fuga.

Le informazioni sono state verificate sulle fonti citate e aggiornate al momento della pubblicazione.

Fonti


Fonti e riferimenti
  1. bleepingcomputer.com
  2. thehackernews.com
  3. daily.dev
  4. hendryadrian.com
  5. blog.netmanageit.com
  6. openai.com
  7. techzine.eu
  8. github.com