Una vulnerabilità critica è stata scoperta nell'agente di codifica AI OpenCode, che consente a un server MCP (Model Context Protocol) compromesso o malevolo di eseguire codice arbitrario sul computer dello sviluppatore al momento del login. Il difetto si manifesta quando OpenCode, collegandosi a un server MCP per integrare strumenti esterni, passa l'indirizzo web dell'"endpoint di autorizzazione" OAuth a un helper di Windows che apre il browser.
Meccanismo dell'attacco
Su Windows e WSL, l'helper costruisce un comando PowerShell attorno all'indirizzo fornito, ma non lo escapa correttamente. Un URL appositamente forgiato può contenere un comando PowerShell che viene eseguito con i privilegi dell'utente, consentendo al server MCP di lanciare codice arbitrario.
Il processo si attiva solo quando lo sviluppatore avvia la procedura di autenticazione, ad esempio eseguendo opencode mcp auth o inviando la richiesta corrispondente. La semplice presenza di un server MCP configurato non è sufficiente: l'attaccante deve controllare il server remoto, il quale può essere stato legittimo in precedenza e poi compromesso.
Condizioni di sfruttamento
- Il server MCP deve essere aggiunto alla configurazione di OpenCode dell'utente.
- L'attaccante deve avere il controllo del server o della sua zona di dominio.
- Lo sviluppatore deve avviare il processo di login tramite OpenCode.
Impatto e risposta di Anomaly
Pillar Security, che ha scoperto la falla e l'ha segnalata il 19 ottobre, l'ha classificata come critica, assegnandole un punteggio di gravità di 9,8 su 10. La vulnerabilità colpisce le versioni di OpenCode dalla 1.0.137 fino alla 1.18.32 su Windows e WSL; macOS e Linux non sono interessati perché lì il browser viene aperto senza passare per una shell.
Anomaly ha rilasciato la correzione nella versione 1.18.33 il 28 settembre, ma non ha richiesto un CVE né ha pubblicato un avviso di sicurezza. La sua policy di sicurezza dichiara che i server MCP configurati dagli utenti sono "fuori dal nostro perimetro di fiducia", motivo per cui la segnalazione è stata respinta.
Conseguenze dell'assenza di CVE
Poiché non è stato assegnato un CVE, gli scanner di vulnerabilità non segnalano le versioni a rischio. Gli amministratori devono verificare manualmente la versione di OpenCode installata e, se necessario, aggiornare o rimuovere i server MCP non verificati.
Storia e contesto
Questo tipo di vulnerabilità è stato osservato in precedenza. Nel luglio 2025, il proxy mcp-remote presentava un bug quasi identico, assegnato al CVE-2025-6514. Inoltre, il helper di browser di OpenCode utilizza il pacchetto open, la cui versione per Windows era già stata segnalata come rischio di injection nel 2023 e corretta nella versione 11, mentre OpenCode continuava a utilizzare una versione più vecchia.
Le difese tradizionali contro questa classe di attacchi prevedono il controllo del protocollo dell'URL (HTTP/HTTPS). Tuttavia, l'attacco sfrutta un normale indirizzo HTTPS, rendendo questo controllo inefficace. Anomaly ha aggiunto comunque il check, ma la correzione definitiva è arrivata solo con l'aggiornamento alla versione 1.18.33.
Cosa fare subito
- Aggiornare OpenCode alla versione 1.18.33 o successive.
- Se l'aggiornamento non è possibile, rimuovere tutti i server MCP remoti non verificati dalla configurazione.
- Eseguire
opencode mcp listper elencare i server configurati e valutare la loro affidabilità.
Pillar Security non ha rilevato prove di sfruttamento in attacchi reali e non ha pubblicato indicatori di compromissione. La vulnerabilità è distinta dalla recente violazione del servizio Console di OpenCode, che aveva esposto chiavi API di OpenAI, Anthropic e Google.
