OpenCode lappet kritisk RCE via MCP-server uten CVE: oppdater til 1.18.33 på Windows og WSL
tirsdag 20. oktober · KI-generert · Kilde: Pillar Security
Oppdater OpenCode til 1.18.33 eller nyere på Windows og WSL, for en ondsinnet MCP-server kan kjøre kode på maskinen din under OAuth-innloggingen uten at noen skanner varsler deg.
I juli 2025 fikk mcp-remote CVE-2025-6514 med alvorlighetsgrad 9,6 for en feil der en MCP-server kunne smugle en kommando inn i URL-en klienten åpner i nettleseren. Pillar Security har nå vist at samme feilklasse dukket opp igjen i OpenCode, den åpne KI-kodeagenten med rundt 3 millioner ukentlige npm-nedlastinger og 211 000 GitHub-stjerner. Versjon 1.0.137 til 1.18.32 på Windows og WSL er rammet, og Pillar foreslår CVSS 9,8 (kritisk).
Hullet sitter i OAuth-handshaken. Når en ekstern MCP-server krever innlogging, svarer den med discovery-dokumenter, og feltet authorization_endpoint bestemmer serveren selv. OpenCode sendte verdien rett til npm-pakken open i versjon 10.1.2, som på Windows legger URL-en i doble anførselstegn og sender den til powershell -EncodedCommand. PowerShell ekspanderer $(...) inne i slike strenger, så en helt ordinær https-URL med en subexpression kjører koden selv om nettleserstarten etterpå feiler. På macOS og Linux kaller open open og xdg-open med en argumentvektor uten shell, og der er du trygg.
Serveren trengte ikke være ondsinnet den dagen du la den inn. Payloaden kommer i et HTTP-svar ved tilkobling, så en senere kompromittering, et kapret registeroppslag eller et utløpt domene holder. Pillar viser også at standardmedisinen, skjemavalidering som bare slipper gjennom http og https, ikke stopper angrepet: payloaden er jo https. Det som faktisk tettet hullet i OpenCode, var at open ble løftet til 11.0.4, som pakker målet i enkle anførselstegn der PowerShell ikke ekspanderer noe.
Anomaly, selskapet bak OpenCode, fikk rapporten privat 29. august og slapp fiksen i 1.18.33 den 28. september. Endringen ble presentert som en opprydding i åtte steder som åpner nettleseren, release-notatene nevner ikke sikkerhet, og det finnes verken CVE eller sikkerhetsvarsel. Pillar publiserte detaljene 4. oktober for at brukerne skulle få vite det.
«Vi har oppdatert avhengigheten, men generelt er det utenfor trusselmodellen vår å håndtere en ondsinnet MCP-server.» — Anomaly, i svaret til Pillar Security
Roten ligger i en pakke med 184 millioner nedlastinger i uken. En Adobe-ingeniør meldte kommandoinjeksjonen på Windows som issue #323 allerede i oktober 2023, og vedlikeholderen Sindre Sorhus viste til en ansvarsfraskrivelse som har stått i README-en siden 2021:
«Denne pakken gir ingen sikkerhetsgarantier. Sender du inn upålitelig input, er det opp til deg å sanitere den skikkelig.» — README-en til open
Escapingen kom først i open 11.0.0 i november 2025, tre uker før OpenCode skrev koden som sendte serverens URL rett inn. Pillar trekker fram at gemini-cli bruker en execFile-åpner med skjemasjekk, at github-mcp-server og Dockers mcp-gateway åpner URL-er via argumentvektor, og at OAuth-stien i Claude Code ikke kan nå åpneren med en verdi serveren styrer. For deg som kobler agenter til eksterne MCP-servere er lærdommen at klienten din parser upålitelig input lenge før modellen ser noe.
Hva bør du gjøre?
- Sjekk versjonen på alle Windows- og WSL-maskiner som kjører OpenCode, og oppdater til 1.18.33 eller nyere. Ingen avhengighetsbot fanger dette, fordi det ikke finnes noen CVE å matche mot.
- Fjern eksterne MCP-servere du ikke har vurdert fra OpenCode-konfigurasjonen hvis du ikke kan oppdatere med en gang.
- Bygger du egen MCP-klient: send URL-er som argumenter via
execFileellerspawnuten shell, knytt OAuth-discovery til opprinnelsen du konfigurerte, og løft open til 11.x hvis du bruker den.