The Pulse
Pillar scopre una falla che consente l’esecuzione di codice da remoto nell’OAuth MCP di OpenCode
Secondo Pillar Security, un server MCP remoto malevolo potrebbe sfruttare il processo di discovery OAuth per eseguire comandi nelle installazioni di OpenCode interessate su Windows e WSL. Il rapporto afferma che la falla è stata corretta ne

AI.info Team · Scritto con l’IA · verificato ·
Il 4 ottobre 2026 Pillar Security ha pubblicato un rapporto su una falla di OpenCode, un agente di IA per la programmazione, che potrebbe consentire a un server MCP remoto ostile di eseguire comandi sul computer Windows di uno sviluppatore. L’attacco passa attraverso la discovery OAuth: i metadati forniti dal server arrivano al codice di OpenCode che apre il browser e richiama PowerShell. Secondo Pillar, la vulnerabilità interessa le versioni di OpenCode dalla 1.0.137 alla 1.18.32 su Windows e Windows Subsystem for Linux (WSL).
«L’attacco non richiede di installare software malevolo, sfruttare il modello di IA o ingannarlo tramite prompt injection».
Eilon Cohen, autore del rapporto
La discovery OAuth passa a PowerShell un URL controllato dal server
Durante l’autenticazione, un server remoto Model Context Protocol può rispondere con un codice 401 e una challenge WWW-Authenticate che indirizza il client ai documenti di discovery. Questi documenti forniscono un authorization_endpoint, cioè un URL scelto dal server. Nella versione 1.18.32 di OpenCode, ha rilevato Pillar, quel valore passava attraverso il kit di sviluppo software MCP e il codice dell’agente per OAuth e il browser, prima di raggiungere il pacchetto open.
Il percorso vulnerabile su Windows usava open@10.1.2, che passava l’URL di destinazione a PowerShell all’interno di una stringa racchiusa tra virgolette doppie. PowerShell valuta le espressioni $(...) all’interno di tali stringhe, quindi un URL costruito appositamente poteva far eseguire un comando durante l’apertura del browser. Secondo Pillar, il comando poteva essere eseguito anche se il browser non si apriva e OpenCode ignorava l’errore di avvio.
Secondo Pillar, l’attacco non richiede che uno sviluppatore approvi una chiamata a uno strumento o segua un’istruzione di prompt injection. Un server potrebbe inoltre diventare ostile dopo la configurazione iniziale: la risposta malevola arriva quando il client si connette e avvia il processo OAuth. Poiché OpenCode viene eseguito con i privilegi dello sviluppatore, un’esecuzione riuscita può operare con gli stessi privilegi.
I controlli HTTPS non hanno bloccato il payload
Filtrare lo schema dell’URL potrebbe sembrare una soluzione al rischio, ma Pillar afferma che l’URL usato nel test impiegava il normale HTTPS. La denylist dell’SDK TypeScript di MCP blocca schemi come javascript:, data: e vbscript:; un indirizzo HTTPS supera quel controllo. Pillar afferma inoltre che il controllo dello schema aggiunto in OpenCode 1.18.33 non basterebbe, da solo, a respingere il payload.
La correzione che ha chiuso il percorso vulnerabile è stata l’aggiornamento a open@11.0.4, che racchiude l’URL di destinazione tra virgolette singole anziché doppie. PowerShell non espande le espressioni all’interno di stringhe racchiuse tra virgolette singole. La scoperta di Pillar ricorda che verificare lo schema di un URL non rende sicuro interpolare l’URL completo in un comando di shell.
Il rapporto colloca la falla in una categoria di problemi di command injection già documentati in tre CVE del 2025: CVE-2025-6514, CVE-2025-58062 e CVE-2025-10619. Secondo Pillar, il codice vulnerabile di OpenCode è stato scritto nel dicembre 2025, dopo quelle divulgazioni. Pillar raccomanda ai client MCP di passare i valori remoti come argomenti, anziché usarli per costruire comandi di shell.
La correzione è stata distribuita prima della divulgazione di Pillar
Secondo Pillar, Anomaly, lo sviluppatore di OpenCode, ha rilasciato la versione 1.18.33 il 28 settembre, dopo aver ricevuto il rapporto dei ricercatori. Pillar afferma che la versione includeva l’aggiornamento della dipendenza, ma Anomaly non ha pubblicato un avviso di sicurezza né richiesto un CVE per questo problema. I ricercatori propongono un punteggio CVSS 3.1 di 9,8: è una loro valutazione, non un punteggio CVE pubblicato.
Pillar riporta così la risposta di Anomaly al rapporto:
«Abbiamo aggiornato la dipendenza, ma, in generale, affrontare il problema di un server MCP malevolo esula dal nostro modello di minaccia».
Anomaly, citata nel rapporto di Pillar Security
Secondo Pillar, Anomaly ha ritenuto che i server MCP remoti malevoli esulino dal suo modello di minaccia. Questa posizione è importante per chiunque usi un server remoto: una configurazione può puntare a un servizio che cambia in seguito, mentre una procedura automatizzata di autenticazione OAuth ne elabora la risposta. Il rapporto afferma che macOS e Linux non sono interessati da questo specifico percorso di esecuzione perché i meccanismi con cui aprono il browser non passano l’URL attraverso una shell.
Gli utenti Windows e WSL devono controllare direttamente le versioni
Pillar avverte che, in assenza di un CVE per questa scoperta, i tradizionali scanner di vulnerabilità e gli avvisi sulle dipendenze potrebbero non segnalare le installazioni di OpenCode interessate. I team dovrebbero controllare personalmente le versioni, concentrandosi sui sistemi Windows e WSL in cui sono configurati server MCP remoti. Il rapporto indica OpenCode 1.18.33 o versioni successive come corrette e consiglia di rimuovere i server MCP remoti non verificati se non è possibile effettuare l’aggiornamento.
Al momento del rapporto di Pillar, OpenCode registrava circa 3 milioni di download settimanali su npm e 211.000 stelle su GitHub. Per gli utenti interessati, l’azione immediata è precisa: verificare la versione installata e poi aggiornarla almeno alla 1.18.33.