漏洞总结:ONNX Path Traversal via Symlink 漏洞概述 CVE ID: CVE-2024-27400 严重程度: High (8.7/10) 类型: 路径遍历 / 符号链接攻击 (CWE-23, CWE-61) ONNX 在处理外部数据文件时,对符号链接的检查不充分。攻击者可通过创建指向任意文件系统位置的符号链接,读取模型目录或用户指定目录之外的敏感文件。 根本原因: 会跟随符号链接(执行 调用),若符号链接目标为常规文件则返回 true,导致检查被绕过。 --- 影响范围 具体影响: 可读取主机上的敏感文件(如 、 等),不限于 UNIX 系统。 --- 修复方案 官方已在 1.21.0 版本修复。建议升级至该版本或更高版本。 补丁核心思路(C 代码示例): 使用 + 标志打开文件,禁止跟随符号链接 通过 检查文件属性,确保不是符号链接、目录或特殊设备 使用 确保基础目录有效 关键修复代码逻辑: --- POC 代码 步骤1:生成带外部数据的恶意模型 步骤2:攻击步骤 1. 运行上述代码生成带外部数据的样本模型 2. 删除 文件 3. 创建符号链接: 4. 使用以下代码加载模型 5. 观察:符号链接检查被绕过,模型成功加载,实际读取了 步骤3:加载模型触发漏洞