CVE-2026-82217 riguarda le versioni di Eclipse Theia 1.73.0 fino a sotto la 1.75.0. In modalità AI "Agent Mode", gli strumenti di modifica dei file — writeFileContent, suggestFileContent e i relativi helper di replace e state — risolvevano un percorso fornito dal modello senza verificare che appartenesse al workspace. Un ../.bashrc relativo, un percorso assoluto o un'espansione ~ scrivevano o cancellavano file fuori dal workspace con i privilegi del sistema operativo dell'utente backend. In Agent Mode queste modifiche si applicano senza una finestra di conferma. Scrivere in ~/.ssh/authorized_keys o in un file di avvio della shell porta a esecuzione di codice sul backend. Il CVSS 3.1 è 8.8, assegnato da NVD e non autovalutato.
La correzione che nessuno poteva vedere
L'avviso cita un singolo commit. Quel commit appartiene a una pull request intitolata "ai-ide: add Memory prompt capability". Tocca effettivamente i file vulnerabili — file-changeset-functions.ts e workspace-functions.ts — ma per titolo e descrizione si tratta di una funzionalità. Un amministratore che leggesse le note di rilascio della 1.75.0 non avrebbe avuto alcun indizio che l'aggiornamento chiudeva una catena da path traversal a RCE.
Le due lacune
Segnalazione a Eclipse: 24 luglio. Commit di correzione: 11 agosto. Rilascio che lo contiene: 27 agosto. Avviso: 31 agosto. Le versioni vulnerabili 1.73 e 1.74 sono rimaste in produzione per circa due mesi dopo la segnalazione, e la correzione è rimasta pubblicamente in un repository aperto per 20 giorni prima della divulgazione — leggibile da chiunque esamini i diff dei commit, invisibile a chi si limita a leggere gli avvisi.
Ciò che la sintesi trascura
"Theia ha corretto una vulnerabilità" implica che sia stato aggiunto un controllo mancante. Il rapporto di Eclipse descrive invece una correzione incompleta: i guardrail chiamati ensureWithinWorkspace e resolveToUri esistevano già nel livello di risoluzione, e gli strumenti a maggiore impatto li aggiravano. La protezione era presente, ma non applicata dove contava di più — un tipo di fallimento diverso e più difficile da individuare in revisione.
Perché il problema si generalizza
Non si tratta di un'iniezione di prompt teorica. È una catena completa: contenuto esterno, output del modello, percorso del file, scrittura fuori dal workspace, codice sull'host — senza conferma dell'utente, perché l'applicazione automatica è il design previsto. Qualsiasi agente per IDE che combini un percorso fornito dal modello con l'applicazione automatica presenta la stessa struttura.
