Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-39987_PoC — CVE-2026-39987 的概念验证 | Kitploit
工具/GitHubGitHub/wind010/cve-2026-39987_poc
漏洞利用Web应用程序漏洞利用后渗透利用渗透测试远程访问工具
GitHubwind010/cve-2026-39987_poc

CVE-2026-39987_PoC

CVE-2026-39987 的概念验证

查看仓库
111个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-39987-PoC

免责声明 本脚本仅用于教育和授权测试目的。未经明确许可,利用本工具对系统进行未经授权的操作属违法行为。作者对任何滥用此信息的行为概不负责。

0.23.0 之前的 Marimo 版本存在一个无需事先认证即可利用的严重远程命令执行(RCE)漏洞。端点 /terminal/ws 未实施充分的访问控制,从而允许未经认证的攻击者获得系统的完整交互式 shell 访问权限。

详情信息
CVECVE-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

识别

Shodan Dork

http.favicon.hash:-1864630356

Censys Dork

services.http.response.favicons.hashes: -1864630356

指纹

  • Favicon 哈希:-1864630356
  • 端点版本:/api/version

安装

需要 Python 3.10+。依赖项由 Astral 的 uv 管理。

root@kitploit:~
# install uv (skip if already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh

uv venv
uv pip install -r requirements.txt

用法

root@kitploit:~
uv run poc.py -t <target_url>
  • -t、--target_url(必需):目标 /terminal/ws 端点的 WebSocket URI。
root@kitploit:~
uv run poc.py -t wss://<target-host>/terminal/ws

连接后将获得一个交互式原始 pty 会话。本地可用的额外命令(不会按输入原样发送到远程 shell):

命令描述
.upload

按 Ctrl+C 中断/退出。

缓解措施

  • 补丁:将 Marimo 升级到 >= 0.23.0,该版本修复了 /terminal/ws 上缺失的访问控制。
  • 限制网络暴露:不要将 Marimo 终端/编辑服务器直接暴露到互联网。将其绑定到 localhost 或内部接口,并通过 VPN/堡垒机提供远程访问。
  • 添加认证:如果无法立即升级,请将该服务置于强制认证的反向代理(例如 OAuth2 代理、mTLS)之后,以保护 /terminal/ws 和其他 API 路由。
  • 网络分段:对端口设置防火墙,使只有受信任的 IP/VPN 网段才能访问。
  • 检测:监控指向 /terminal/ws 的意外 WebSocket 连接以及服务器日志中未经认证的 shell 活动;上述 Shodan/Censys 搜索语法也可用于防御性目的,以发现自身暴露在外且未打补丁的实例。

参考资料:

  • https://nvd.nist.gov/vuln/detail/CVE-2026-39987
  • https://lyrie.ai/research/research/cve-2026-39987-marimo-pre-auth-rce-root-in-one-request
下载工具
打开本地提示,输入本地文件路径和远程目标路径,然后将文件推送到目标。
!upload <local_path> <remote_path>与上述相同,单行完成。
!download <remote_path> <local_path>从目标拉取文件到你的本地计算机。
/exit、/bye在本地终止会话。