OpenCode MCP OAuth RCE: silent patch, no CVE, check by hand
A malicious MCP server could run code on Windows and WSL machines using OpenCode 1.0.137–1.18.32. The fix shipped with no CVE, so scanners miss it.
A remote MCP server could run code on a developer's machine just by being added to OpenCode, the open-source AI coding agent. Pillar Security found the OpenCode MCP OAuth RCE in versions 1.0.137 through 1.18.32 on Windows and WSL. No click needed. The fix shipped on September 28 in 1.18.33, but as a quiet refactor: no CVE, no security advisory. Your scanner has nothing to match. If your team runs OpenCode on Windows, you have to check versions yourself.
What actually happened
Pillar Security's write-up traces the bug to the OAuth flow OpenCode runs when it connects to a remote MCP server:
- During OAuth discovery, the MCP server sends back an
authorization_endpointURL. OpenCode opens it in the browser with theopennpm package, pinned at 10.1.2. - On Windows, that version of
openbuilds a PowerShell command without escaping the URL. A$(...)inside an ordinaryhttps://link runs as a command. Checking the URL scheme does not stop it. - macOS and Linux are not affected, Pillar says, because their browser launchers do not send the URL through a shell.
Pillar reported the flaw privately on August 29. Anomaly, OpenCode's maker, said malicious MCP servers are outside its threat model, then merged a fix on September 25 and published 1.18.33 three days later. Pillar says the real fix is the bump to open 11.0.4, which quotes the URL. The scheme checks added in the same release would not have blocked the payload. Infosecurity Magazine reports that the researchers rate it CVSS 9.8.
Why the OpenCode MCP flaw matters for your business
No CVE means no alert. Dependabot, Snyk and your endpoint tools match CVE IDs. A fix shipped as a refactor reaches nobody who only waits for alerts. Every AI dev tool on a laptop is now inventory you track yourself.
"Outside our threat model" is a vendor telling you something. An MCP server is code you invite in. If the client maker does not treat a hostile server as a real threat, you have to: approve each remote MCP server like you approve a browser extension.
Coding agents run on the machines with the keys. Developer laptops hold cloud credentials, SSH keys and production .env files. A one-step RCE there is a straight line to your infrastructure.
Key takeaways
- OpenCode 1.0.137 through 1.18.32 on Windows and WSL: a malicious MCP server could run code during OAuth, with no click
- Fixed in 1.18.33 (September 28) with no CVE or advisory, so scanners will not flag old installs
- Check the installed OpenCode version on every Windows and WSL machine and upgrade
- Can't upgrade yet? Remove remote MCP servers you have not vetted
- Building your own MCP client? Pass URLs as arguments, never through a shell
Your AI tools need an inventory, not hope. We set up approved lists of MCP servers and coding agents, keep secrets off developer laptops, and build agent integrations that treat every server response as untrusted input. Ask us to review your AI dev stack, or see how we build agent systems.
Sources: Pillar Security, Infosecurity Magazine.
- #opencode
- #mcp
- #ai-coding-agents
- #security
- #windows
Tommy Rush — Founder, Rush Commerce
Operator turned builder. 15+ years running operations — now shipping the systems businesses run on. More
Get The Rush Report weekly — one email, zero fluff.
Keep reading
Brotli CVE-2026-111497 hits Bun, Python and Envoy, not just Node
The Brotli decoder bug behind the Node.js RCE also affects Bun, Python Brotli, brotlicffi, Envoy and Istio. Fixed versions, exposure paths and stopgaps.
Read itAWS Multi Model Server CVE-2026-115812: no patch, migrate off
AWS flags CVE-2026-115812 in end-of-life Multi Model Server: a crafted model archive can run code, and no fix is coming. Find it, lock it down, migrate.
Read it