IPBUF安全漏洞报告
English
CVE-2026-34447 CVSS 5.5 中危

CVE-2026-34447: ONNX符号链接遍历漏洞

披露日期: 2026-04-01

漏洞信息

漏洞编号
CVE-2026-34447
漏洞类型
符号链接遍历
CVSS评分
5.5 中危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Open Neural Network Exchange (ONNX)

相关标签

路径遍历符号链接ONNX信息泄露本地文件读取

漏洞概述

Open Neural Network Exchange (ONNX) 是用于机器学习互操作性的开放标准。在 1.21.0 版本之前,其外部数据加载功能存在符号链接遍历漏洞。攻击者可利用该缺陷读取模型目录之外的任意文件,导致敏感信息泄露。目前官方已在 1.21.0 版本中修复此问题。

技术细节

该漏洞位于 ONNX 库处理外部数据存储的模块中。ONNX 允许将大型张量数据存储在模型文件之外的单独文件中,以提高加载效率。在 1.21.0 版本之前,当解析器处理这些外部数据引用时,未能对符号链接进行充分的校验和路径规范化。攻击者可以利用这一缺陷,构建一个包含特制符号链接的模型。具体而言,攻击者可以创建一个指向模型目录树之外任意路径(例如系统敏感目录)的符号链接,并将其命名为 ONNX 期望的外部数据文件名。当用户使用受影响版本的 ONNX 运行时加载该模型时,解析器会跟随符号链接读取目标文件内容,导致本地文件信息泄露。由于 CVSS 评分表明攻击需要本地访问和用户交互,攻击者通常通过诱导用户下载并解析恶意模型来实施攻击。该漏洞的核心在于路径解析逻辑未正确限制文件访问范围,属于典型的路径遍历类安全缺陷。

攻击链分析

STEP 1
1
攻击者构造恶意的 ONNX 模型文件,包含指向系统敏感文件(如 /etc/passwd)的符号链接,并将其作为外部数据引用。
STEP 2
2
攻击者通过社会工程学或其他诱导手段,将恶意模型文件发送给目标受害者。
STEP 3
3
受害者在本地系统使用存在漏洞的 ONNX 版本(< 1.21.0)加载并解析该恶意模型文件。
STEP 4
4
ONNX 解析器在处理外部数据时,未校验符号链接路径,直接跟随链接读取了模型目录外的敏感文件内容。
STEP 5
5
敏感文件内容被读取并加载到内存中,导致信息泄露。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import os import onnx # PoC for CVE-2026-34447: ONNX Symlink Traversal # This script demonstrates how a symlink can be used to read arbitrary files. # Step 1: Create a directory for the malicious model os.makedirs("malicious_model", exist_ok=True) os.chdir("malicious_model") # Step 2: Create a symlink pointing to a sensitive file (e.g., /etc/passwd) # The external data parser will follow this link target_file = "/etc/passwd" symlink_name = "external_data.bin" try: os.symlink(target_file, symlink_name) print(f"[+] Created symlink '{symlink_name}' -> '{target_file}'") except OSError as e: print(f"[-] Failed to create symlink: {e}") # Step 3: In a real exploit, an ONNX model file would be created/modified # to reference 'external_data.bin'. When the victim loads the model, # ONNX reads the file content through the symlink. print("[+] PoC setup complete. If a model references 'external_data.bin', /etc/passwd will be read.")

影响范围

Open Neural Network Exchange (ONNX) < 1.21.0

防御指南

临时缓解措施
如果无法立即升级,建议在受限环境(如沙箱或容器)中运行 ONNX 模型加载操作,并限制进程的文件系统访问权限。同时,严格校验输入模型的来源和完整性。

参考链接

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