漏洞概述 漏洞名称:未认证的Jupyter Notebook (ipynb) 沙盒器允许任意数据:URI导致XSS 漏洞ID:GHSA-3w28-36p9-v929 CVE ID:CVE-2025-52818 CWE ID:CWE-80 严重程度:高 描述:Jupyter Notebook (ipynb) 的 端点允许任意数据:URI,可能导致跨站脚本攻击(XSS)。该端点使用 与 ,允许所有数据URI,包括 ,使攻击者能够注入恶意HTML/JavaScript。此外,该端点没有认证中间件,任何注册用户都可以利用此漏洞。 影响范围 受影响版本:所有使用易受攻击端点的版本(< 0.14.3) 修复版本:0.14.3 影响: - 攻击者可以发送包含恶意HTML的 URI到沙盒端点。 - 接收并返回受攻击者控制的HTML。 - 在攻击者的浏览器上下文中执行任意JavaScript。 - 如果沙盒输出在其上下文中渲染,可能利用其他用户。 修复方案 1. 使用与 相同的安全模式: - 替换 为: - 其中 是一个仅允许安全图像MIME类型(如 , , )的函数。 2. 添加认证中间件: - 对端点应用适当的认证: 3. 完全禁用数据URI方案: - 如果不需要数据URI进行ipynb沙盒处理: 概念验证(POC)代码 攻击者发送POST请求到沙盒端点: 服务器返回包含数据URI的HTML: 当此HTML在浏览器中渲染时,数据URI中的JavaScript将执行,导致XSS。