关键漏洞信息 漏洞概述 漏洞名称: Hardlink-Based Path Traversal in ObsidianReader in run-llama/llama_index CVE编号: CVE-2023-4210 报告日期: 2023年5月2日 状态: 已修复 影响组件 文件: llama_index/readers/obsidian_reader.py 类: ObsidianReader 方法: load_data 根因分析 问题描述: ObsidianReader 类的实现旨在限制对给定 vault 内文件的访问。然而,通过使用硬链接,攻击者可以绕过路径限制机制,从而未经授权访问敏感系统文件(如 /etc/passwd)。 路径解析: 使用 os.path.normpath 和 os.path.abspath 将相对路径转换为绝对路径。 目录边界检查: 使用 os.path.relpath 确保所有路径都在 vault 内。 利用步骤 1. 创建指向系统文件的硬链接。 2. 执行 PoC 代码以读取硬链接内容。 建议修复 在处理文件之前实施硬链接检测。 检查文件 inode 一致性,确保只处理 vault 目录内的本地文件。 影响 未经授权访问系统文件: 攻击者可以通过硬链接绕过限制,访问敏感文件。 云基础设施风险: 在云环境中可能导致数据泄露或关键信息暴露。 本地数据泄露: 恶意硬链接可能导致敏感数据泄露。 静默利用: 攻击者可以在无需提升权限或用户交互的情况下读取文件。 报告和修复详情 发现者: Manan Patel 修复者: Cicle (Astra) Barrial 披露赏金: $71.35