Codex evade dalla sandbox e riesce a eseguire comandi sul PC host

Due vulnerabilità permettevano di aggirare la sandbox di Codex. OpenAI le ha corrette con aggiornamenti per Desktop e CLI.
Codex evade dalla sandbox e riesce a eseguire comandi sul PC host

Due vulnerabilità distinte hanno permesso di superare i confini della sandbox di OpenAI Codex e raggiungere il sistema operativo del computer dell’utente.

I ricercatori di Accomplish hanno segnalato i problemi a OpenAI nelle scorse settimane, dopo aver individuato due tecniche indipendenti. La prima, chiamata Heapjack, sfruttava un componente JavaScript di Codex Desktop per ottenere l’esecuzione di comandi fuori dall’ambiente isolato.

La seconda, Overpatch, interessava Codex CLI e consentiva di estendere i permessi di scrittura attraverso il sistema di applicazione delle patch. I due difetti avevano una caratteristica comune: parte del meccanismo incaricato di applicare le restrizioni si trovava all’interno dello stesso ambiente che avrebbe dovuto controllare. OpenAI ha già corretto entrambe le vulnerabilità.

Heapjack aggirava la separazione tra codice affidabile

Heapjack interessava node_repl, un componente installato da Codex Desktop e configurato attraverso ~/.codex/config.toml. Il sistema utilizzava contesti JavaScript distinti per separare codice affidabile e codice non affidabile, ma i due ambienti condividevano lo stesso heap di memoria. Il segreto utilizzato per distinguere le richieste autorizzate poteva quindi essere individuato dal codice sottoposto alla sandbox. I ricercatori hanno sfruttato v8.getHeapSnapshot() per analizzare la memoria del processo e recuperare il valore necessario a costruire una richiesta privilegiata.

Una volta ottenuto il token, il codice poteva comunicare con il processo genitore e utilizzare funzionalità non soggette alla sandbox. Il proof of concept ha dimostrato l’avvio di applicazioni attraverso il comando di sistema open e l’accesso a socket Unix. L’aspetto più rilevante riguarda la modalità read-only: la tecnica non richiedeva che l’agente disponesse normalmente di permessi per modificare i file. Un repository non fidato aperto nell’ambiente vulnerabile poteva quindi diventare il punto di partenza per un’esecuzione sul sistema host.

Overpatch ampliava invece i permessi di scrittura

Overpatch colpiva apply_patch, lo strumento utilizzato da Codex CLI per modificare i file. Nella modalità workspace-write, l’agente dovrebbe poter operare soltanto all’interno della directory del progetto. I ricercatori hanno scoperto che il sistema ricavava l’autorizzazione dal percorso indicato nella patch: inserendo /tmp, il controllo poteva concedere scrittura fino alla radice del disco. Una seconda modifica sfruttava poi un link simbolico per raggiungere .zshrc nella directory home. L’operazione non richiedeva una richiesta di approvazione.

OpenAI ha risolto i due problemi dopo la segnalazione. Heapjack è stato corretto nella build 26.818.21641 di Codex Desktop, mentre Overpatch è stato risolto con Codex CLI 0.149.0; Accomplish indica che gli interventi sono arrivati entro otto giorni dalla comunicazione. Per gli utenti, quindi, la misura concreta consiste nell’aggiornare i rispettivi componenti almeno a queste versioni o a release successive.

Ti consigliamo anche

Link copiato negli appunti