OpenCode远程代码执行漏洞CVE-2026-22812
OpenCode 是一款MIT协议开源的AI编程代理(AI Coding Agent),核心是在终端/IDE/桌面无缝提供模型无关、隐私优先的编码辅助。
一、基本情况
OpenCode代理工具支持在终端、IDE或桌面应用中使用。可替代 Claude Code 等商业工具,适合全栈、运维/DevOps 及隐私敏感团队。

OpenCode坚持隐私优先原则,代码与上下文仅在本地处理,不向云端上传,适配金融、医疗等场景opencode.ai,并可加载全局技能库。
栋科技漏洞库关注到 OpenCode 受影响版本中存在的远程代码执行漏洞,现已追踪为CVE-2026-22812,漏洞的CVSS 3.X评分为8.8。
二、漏洞分析
CVE-2026-22812是OpenCode受影响版本的漏洞,当OpenCode启动时会生成一个没有身份验证的HTTP服务器(默认端口4096+)。
具体来说,该漏洞存在于 OpenCode 在1.0.216之前的版本中,当OpenCode在启动时,会默认启动一个未经身份验证的HTTP服务器。
允许未经授权的远程攻击者或任何本地进程(或通过宽松的跨域资源共享策略(CORS)访问的任何网站)以用户权限执行任意shell命令。
暴露的关键端点:
POST /session/:id/shell - 执行shell命令(server.ts:1401)
POST /pty - 创建交互式终端会话 (server.ts:267)
GET /file/content?path= - 读取任意文件 (server.ts:1868)
服务器是通过`Server.listen()`在`cli/cmd/tui/worker.ts:36`中自动启动的。
server/server.ts 中不存在身份验证中间件。
服务器使用宽松的跨域资源共享(CORS)(.use(cors())),默认的 Access-Control-Allow-Origin 为 *,从而允许基于浏览器的利用。
三、POC概念验证
1、本地开采:
管理员已设置登录后刷新可查看2、基于浏览器的利用:
恶意网站可以利用运行OpenCode的访问者进行攻击。已确认在Firefox中有效。可根据要求提供概念验证(PoC)。
管理员已设置登录后刷新可查看注意:Chrome 142+版本可能会提示获取本地网络访问权限。而Firefox则不会。
3、潜在风险
通过两个途径实现远程代码执行:
本地进程:
任何恶意的npm包、脚本或被攻破的应用程序都可以以运行OpenCode的用户的身份执行命令。
基于浏览器(已在Firefox中确认):
任何网站都可以对运行OpenCode的访问者执行命令。这使得通过恶意广告、被攻破的网站或钓鱼页面进行“驱动式”攻击成为可能。
使用--mdns标志时,服务器会绑定到0.0.0.0并通过Bonjour进行广告,从而将攻击面扩展到整个本地网络。
代码分析、CVSS评分和文档由Claude AI(Opus 4.5)辅助完成。漏洞验证和PoC测试由报告者执行。
四、影响范围
Opencode < 1.0.216
五、修复建议
Opencode >= 1.0.216
六、参考链接
管理员已设置登录后刷新可查看