# Dask 通过 Jupyter 代理和仪表板存在远程代码执行漏洞
## 概述
Dask distributed 在版本 2026.1.0 之前存在跨站脚本(XSS)漏洞,当与 Jupyter Lab 和 jupyter-server-proxy 一同使用时,攻击者可通过构造恶意 URL 触发代码执行。
## 影响版本
- 受影响版本:Dask distributed < 2026.1.0
- 修复版本:Dask distributed 2026.1.0
## 细节
漏洞存在于 Dask Dashboard 的前端代码中,当 Jupyter Lab 通过 jupyter-server-proxy 代理访问 Dask 分布式调度器时,攻击者可构造特殊 URL,利用 XSS 漏洞在 Dask Dashboard 的错误页面中注入恶意脚本。该脚本通过 Jupyter Lab 代理执行,进而利用默认的 Jupyter Python 内核执行任意代码。
## 影响
攻击者可构造钓鱼链接,假设目标系统上 Jupyter Lab 和 Dask 运行在本地默认端口,诱使用户点击。一旦点击,恶意代码将在用户 Jupyter 环境中执行,可能导致信息泄露、系统被控等安全风险。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|
标题: Remote Code Execution via Jupyter Proxy and Dashboard · Advisory · dask/distributed · GitHub -- 🔗来源链接
标签:x_refsource_CONFIRM
神龙速读:
## 关键漏洞信息
- **漏洞名称**: Remote Code Execution via Jupyter Proxy and Dashboard
- **漏洞ID**: GHSA-c336-7962-wfj2
- **CVE编号**: CVE-2026-23528
- **严重性**: Critical
### 影响范围
- **受影响的软件包**: distributed (pip), distributed (conda)
- **受影响版本**: <2026.1.0
- **已修复版本**: 2026.1.1
### 描述
当 Jupyter Lab、jupyter-server-proxy 和 Dask distributed 一起运行时,由于 Dask dashboard 中的跨站脚本(XSS)漏洞,攻击者可以构造URL导致代码通过Jupyter执行。
### 影响
攻击者可构造恶意URL,假设Jupyter Lab和Dask在localhost运行且使用默认端口,用户点击后会在Dask Dashboard中通过Jupyter Lab代理打开错误页,导致默认Jupyter Python内核执行恶意代码。
### 修复
- 已在 2026.1.1 版本中修复,所有用户应升级到此版本。
### 缓解措施
- 升级到最新版本是唯一完整解决方案。
- 可通过卸载 jupyter-server-proxy 并直接访问Dask dashboard URL来避免部分代码执行问题,但仍存在中等风险。
- 确保Jupyter和Dask dashboard在非标准端口运行,减少被利用的概率。
标题: Merge commit from fork · dask/distributed@ab72092 · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
- **提交信息**: ab72092,由 jacobtomlinson 4 天前编写,通过验证。
- **分支**: 从主要分支合并提交。
- **更改文件**:
- `distributed/dashboard/tests/test_scheduler_bokeh.py`:
- 添加了测试代码,检查代理到工作节点的连接,确保不会包含未转义的危险字符。
- `distributed/http/proxy.py`:
- 引入了 `html` 模块。
- 替换了字符串拼接方式,对 worker 的值使用 `html.escape` 进行转义,防止 HTML 注入攻击。
- **漏洞修复关键点**:
- 增强安全性,避免未转义的字符导致的潜在安全问题,如 HTML 注入等。
- 确保在 HTTP 响应中返回的字符串是安全的,不会引起浏览器的解析错误或者安全漏洞。
暂无评论