打开网易新闻 查看精彩图片

据Sysdig威胁研究团队披露,AI云计算公司CoreWeave旗下开源Python笔记本平台Marimo存在一个严重的预认证远程代码执行漏洞,该漏洞在公开披露后不到10小时便遭到了实际攻击。

该漏洞编号为CVE-2026-39987,严重性评分为9.3分(满分10分),影响0.23.0版本之前的所有Marimo版本。

攻击者无需登录、无需窃取凭据,也无需复杂的利用手段。Sysdig团队在一篇博文中指出,攻击者只需向暴露在公网上的Marimo服务器的特定端口发送一个连接请求,即可获得对系统的完全控制权。

该漏洞允许未经身份验证的攻击者通过单次连接获取完整的交互式Shell,并在任何暴露的Marimo实例上执行任意系统命令,整个过程无需任何凭据。

Marimo团队在其GitHub安全公告中写道:"Marimo存在预认证远程代码执行漏洞。终端WebSocket端点/terminal/ws缺乏身份验证校验,允许未经认证的攻击者获取完整的PTY Shell并执行任意系统命令。"

Marimo是一个基于Python的响应式笔记本,在GitHub上拥有约2万颗星,并于2025年10月被CoreWeave收购。

Marimo服务器内置终端功能,允许用户直接在浏览器中执行命令。然而,该终端可在无需任何身份验证的情况下通过网络访问,而同一服务器的其他部分在连接前均正确要求用户登录。

博文进一步指出:"终端端点完全跳过了身份验证检查,接受任何未经认证用户的连接,并授予以Marimo进程权限运行的完整交互式Shell。"

实际上,任何能够通过互联网访问该服务器的人,都可以在不输入任何密码的情况下直接进入实时命令Shell,且通常具备管理员级别的访问权限。

为追踪真实的漏洞利用情况,Sysdig在多个云服务提供商上部署了运行存在漏洞的Marimo实例的蜜罐服务器,并在漏洞披露后9小时41分钟内观察到了首次攻击尝试。值得注意的是,当时市面上并不存在现成的利用工具——攻击者仅凭安全公告的描述便自行构建了利用代码。

攻击者分四个阶段展开行动。第一阶段的简短会话用于确认漏洞可被利用;第二阶段手动浏览服务器文件系统;第三阶段定位并读取了包含AWS访问密钥及其他应用凭据的环境文件。整个操作耗时不到三分钟。

Sysdig团队写道:"这是一次在3分钟内完成的完整凭据窃取操作。"

超过一小时后,攻击者再次返回对相同文件进行复查。这一行为与人工操作员逐一排查目标列表的模式相符,而非自动化扫描工具所为。

漏洞利用的速度与AI及开源工具领域的整体趋势相吻合。今年早些时候,Langflow的一个严重漏洞在披露后20小时内被武器化——同样由Sysdig追踪记录。而Marimo案例将这一窗口期缩短了近一半,且当时市面上并无公开的利用代码流传。

Sysdig在博文中指出:"小众或不太流行的软件并不意味着更安全。"任何面向互联网且已发布严重漏洞公告的应用,在披露后数小时内都会成为攻击目标,无论其装机量多少。

Sysdig还特别指出,首次攻击发生时该漏洞尚未被分配CVE编号,这意味着依赖基于CVE扫描机制的组织根本不会对该安全公告发出任何警报。

该漏洞还契合了AI相关开发者工具(包括MLflow、n8n和Langflow)中严重远程代码执行漏洞的惯常模式——为便利性而内置的代码执行功能,一旦在缺乏一致身份验证控制的情况下暴露于互联网,便会带来严重安全风险。

Marimo已发布修复版本0.23.0,填补了终端端点的身份验证漏洞。Sysdig建议,所有运行旧版本的组织应立即更新。

对于暂时无法更新的团队,博文建议通过防火墙规则阻止对Marimo服务器的外部访问,或将其置于经过身份验证的代理之后。任何曾公开可访问的实例均应被视为可能已遭入侵。

Sysdig建议:"存储在这些服务器上的凭据,包括云访问密钥和API令牌,应作为预防措施进行轮换。"

CoreWeave未立即回应置评请求。

Q&A

Q1:CVE-2026-39987漏洞具体影响哪些版本的Marimo?

A:CVE-2026-39987漏洞影响0.23.0版本之前的所有Marimo版本,严重性评分高达9.3分(满分10分)。该漏洞位于终端WebSocket端点/terminal/ws,由于缺乏身份验证校验,攻击者无需任何凭据即可获取完整的交互式Shell并执行任意系统命令。目前官方已发布修复版本0.23.0,受影响用户应立即升级。

Q2:Marimo漏洞被利用后,攻击者具体做了什么?

A:攻击者分四个阶段展开攻击,整个操作在不到3分钟内完成。第一阶段确认漏洞可利用;第二阶段手动浏览服务器文件系统;第三阶段定位并读取包含AWS访问密钥及其他应用凭据的环境文件;一小时后,攻击者还返回对相同文件进行了复查。整个行为模式符合人工操作员逐一排查目标的特征,而非自动化扫描。

Q3:如果暂时无法更新Marimo,应该如何降低安全风险?

A:对于无法立即更新至0.23.0版本的团队,Sysdig建议采取以下措施:通过防火墙规则阻止对Marimo服务器的外部访问,或将服务器置于经过身份验证的代理之后。此外,任何曾公开可访问的Marimo实例均应被视为可能已遭入侵,存储在服务器上的云访问密钥、API令牌等凭据应立即进行轮换,以降低潜在损失。