In questo articolo Indice dei contenuti 2 sezioni
Due falle nella sandbox di OpenAI Codex hanno permesso a un gruppo di ricercatori di uscire dal recinto di sicurezza dell’agente e far girare comandi direttamente sulla macchina dello sviluppatore, senza alcuna richiesta di approvazione e senza che comparisse nulla a schermo. Una delle due, in particolare, funzionava perfino nella modalità più blindata, quella in cui l’agente non dovrebbe poter scrivere assolutamente niente.
Entrambi i problemi sono stati segnalati a OpenAI il 12 agosto e sistemati nel giro di otto giorni, secondo quanto riferito da Oren Yomtov di Accomplish AI. Codex è l’agente di coding di OpenAI, disponibile sia come strumento da riga di comando sia come applicazione desktop. Come i concorrenti, esegue le azioni del modello dentro una sandbox, proprio per evitare che codice non affidabile arrivi a toccare il resto del sistema. Le due tecniche scoperte aggirano quel confine attaccandolo dall’interno.
Heapjack, quando un repository altrui diventa un’arma
La più grave delle due è stata battezzata Heapjack e trasforma un gesto banale in esecuzione di codice remoto. Basta aprire il repository di qualcun altro dentro Codex, fare una domanda sul codice, e chi ha scritto quel repository ottiene esecuzione di comandi fuori dalla sandbox sul computer di chi ha posto la domanda.
Il bersaglio è un componente chiamato noderepl, che Codex Desktop scrive nel file di configurazione globale ~/.codex/config.toml al momento dell’installazione. Non c’è nessuna scelta da fare e nessuna impostazione per disattivarlo, e siccome la voce finisce nella configurazione condivisa, anche chi usa soltanto la versione a riga di comando si ritrova lo stesso strumento senza che nessuno glielo abbia mai chiesto.
noderepl fa girare un singolo processo Node.js che contiene due contesti di esecuzione JavaScript separati. Uno è fidato e ospita il codice di OpenAI, l’altro non lo è e ospita il codice dell’agente. Il contesto fidato dimostra di esserlo esibendo un token casuale, generato ogni volta da capo. Il punto debole sta nel fatto che i due contesti vivono nello stesso processo Node e condividono la stessa memoria, quindi quel token è solo una stringa che la parte non fidata può leggere.
Il codice non fidato scatta una fotografia della memoria con v8.getHeapSnapshot() e prova tutte le stringhe che somigliano a un UUID. Un tentativo sbagliato restituisce “not authorized”, mentre un token corretto accompagnato da un argomento errato restituisce un vero errore di validazione, segnale inequivocabile di aver indovinato. A quel punto il codice scrive la propria richiesta sullo stesso canale che il contesto fidato usa per parlare con un processo padre nativo e non isolato. Il padre controlla il token, lo trova valido, e lavora. La dimostrazione pratica ha usato il comando open del sistema per avviare un’applicazione completamente fuori dall’albero dei processi di Codex. Lo stesso accesso raggiunge qualsiasi socket Unix, con il socket del daemon Docker come obiettivo più ovvio, e pure lo strumento che modifica il file di configurazione globale.
Overpatch e la logica sbagliata alla radice
Il secondo difetto, chiamato Overpatch, riguarda la versione open source di Codex CLI. In modalità workspace-write l’agente può scrivere solo dentro la cartella del progetto, e un comando shell diretto alla home viene respinto. I ricercatori hanno però convinto applypatch, lo strumento di patch interno di Codex, a scriverci lo stesso.
Lo strumento concede accesso in scrittura alla cartella superiore di ogni percorso indicato in una patch. Indicando /tmp, l’accesso si allarga fino alla radice del disco. L’exploit funzionante usa una patch con due modifiche, una che nomina /tmp e non serve ad altro che ad ampliare i permessi, e una che aggiunge una riga al file .zshrc passando per un collegamento simbolico verso la home. Tolta la prima, la scrittura viene rifiutata. Con la prima al suo posto, il terminale successivo aperto dallo sviluppatore esegue la riga dell’attaccante senza alcun isolamento.
I due bug hanno la stessa forma di fondo, cioè il meccanismo di controllo che abita dentro la cosa che dovrebbe controllare. Non è una categoria di problema inedita: a luglio 2026 i ricercatori di Pillar Security avevano mostrato la stessa idea su Cursor, Codex, Gemini CLI e Antigravity di Google, con un agente che resta dentro la sandbox e scrive un file che poi uno strumento fidato esegue fuori.
OpenAI ha corretto Heapjack nella build 26.818.21641 di Codex Desktop e Overpatch nella versione 0.149.0 di Codex CLI. Chi usa questi strumenti dovrebbe aggiornare a quelle versioni o successive.
Fonte: TecnoAndroid








