# OpenCode 未认证 HTTP 服务器命令执行漏洞
## 概述
OpenCode 在 1.0.216 版本之前存在一个安全漏洞,会自动启动一个未经身份验证的 HTTP 服务器,导致本地进程或网页可通过宽松的 CORS 策略执行任意系统命令。
## 影响版本
所有早于 1.0.216 的版本。
## 细节
该漏洞源于 OpenCode 自动运行的 HTTP 服务未进行身份验证,且默认接受来自本地主机上任意进程或浏览器(通过 CORS)的请求,攻击者可利用此接口发送恶意请求,执行任意 shell 命令。
## 影响
攻击者可利用该漏洞在受影响系统上以当前用户权限执行任意命令,可能导致敏感信息泄露、系统被控或进一步横向渗透。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|---|---|---|
| 1 | CVE-2026-22812 - OpenCode Unauth RCE | https://github.com/Udyz/CVE-2026-22812-Exp | POC详情 |
| 2 | None | https://github.com/rohmatariow/CVE-2026-22812-exploit | POC详情 |
| 3 | CVE-2026-22812 | https://github.com/Ashwesker/Ashwesker-CVE-2026-22812 | POC详情 |
| 4 | CVE-2026-22812 - OpenCode Unauthenticated RCE-Nuclei template for scan | https://github.com/mad12wader/CVE-2026-22812 | POC详情 |
标题: Unauthenticated HTTP Server Allows Arbitrary Command Execution · Advisory · anomalyco/opencode · GitHub -- 🔗来源链接
标签:x_refsource_CONFIRM
神龙速读:
## 关键漏洞信息
### 漏洞名称
- Unauthenticated HTTP Server Allows Arbitrary Command Execution
### 关键信息
#### 受影响版本与修复版本
- **受影响版本**: < 1.0.216
- **修复版本**: 1.0.216
#### 漏洞描述
- OpenCode 在启动时会启动一个无身份验证的 HTTP 服务器(默认端口 4096+),允许任何本地进程或通过宽松的 CORS 的任何网站执行任意 Shell 命令,利用用户权限。
#### 主要端点暴露
- POST `/session/:id/shell` - 执行 Shell 命令
- POST `/pty` - 创建交互式终端会话
- GET `/file/content?path=` - 读取任意文件
#### 漏洞细节
- HTTP 服务器在 `cli/cmd/tui/worker.ts:36` 中通过 `Server.listen()` 自动启动。
- `server/server.ts` 中不存在身份验证中间件。
- 使用了宽松的 CORS 配置(`.use(cors())` with default `Access-Control-Allow-Origin: *`),这使得基于浏览器的利用成为可能。
#### 漏洞严重性
- **CVSS评分**: 8.8/10
#### 漏洞标识
- **CVE ID**: CVE-2026-22812
#### 弱点
- CWE-306: Missing Authentication for Critical Function
- CWE-749: Exposure of Sensitive Information to an Unauthorized Actor
- CWE-942: Improper Restriction of Excessive Authentication Attempts
#### 证明概念(PoC)
- **本地利用**: 可通过特定的 Bash 和 Curl 代码执行命令,如“echo PWNED > /tmp/pwned.txt”,使攻击成功。
- **基于浏览器的利用**: 确认在 Firefox 中有效,任何网站可以对运行 OpenCode 的访问者执行命令。
#### 影响
- **远程代码执行**: 可通过两个向量实现:
1. 本地进程: 恶意npm包、脚本或受到危害的应用程序可以作为运行 OpenCode 的用户执行命令。
2. 基于浏览器(在 Firefox 中确认): 任何网站可以对运行 OpenCode 的访问者执行命令,这开启了通过恶意广告、受到危害的网站或钓鱼页面进行的点击型攻击。
### 报告者
- CyberShadow
暂无评论