漏洞概述 漏洞编号: CVE-2026-61371 漏洞类型: CWE-59, Improper Link Resolution Before File Access 描述: Microsoft AVML 在 Unix 上打开目标输出路径时,如果目标路径是符号链接,AVML 会跟随符号链接并截断或覆盖其目标。破坏性操作发生在 打开时,且在输入完全验证之前发生。无效输入仍会使目标被截断为零,因此这被描述为“截断前验证”。 影响范围 受影响版本: 所有 0.17.0 之前的版本,包括 0.16.x 系列。 影响: 完整性和可用性。符号链接被截断或覆盖,以运行 AVML 的进程权限,包括 AVML 在截断后以错误退出的情况。 威胁模型: 本地用户可以在 AVML 打开之前创建或替换目标路径为符号链接。这在共享或暂存目录中特别相关,例如在取证和事件响应工作流程中,输出路径通常是可预测且可由多个用户写入。 修复方案 修复版本: 0.17.0 修复内容: 修复程序在 Unix 目标打开时添加了 ,这样 AVML 在创建输出文件时不再跟随符号链接。 漏洞细节 产品: Microsoft AVML (microsoft/avml) 类型: CWE-59, Improper Link Resolution Before File Access 影响: 完整性和可用性。符号链接被截断或覆盖,以运行 AVML 的进程权限,包括 AVML 在截断后以错误退出的情况。 威胁模型: 本地用户可以在 AVML 打开之前创建或替换目标路径为符号链接。这在共享或暂存目录中特别相关,例如在取证和事件响应工作流程中,输出路径通常是可预测且可由多个用户写入。 根本原因 在 Unix 上,目标输出路径使用 创建和截断,没有任何打开时符号链接限制。 因为没有 在打开时,目标路径上的符号链接被跟随,其目标被截断。截断是在内核打开文件时应用的,因此管道中的解析失败不会撤销它。 概念验证 (POC) 构建 创建最小有效 LIME 输入,带有一个字节负载: 案例 1: 使用有效输入覆盖符号链接目标 结果: 不再包含其原始文本。其内容现在以 LIME 头 开头,证明符号链接目标被写入。 案例 2: 使用无效输入在验证前截断 结果: 工具以非零状态退出,因为输入不是有效的 LIME,但 已经是零大小。目标在输入被拒绝之前被截断。 系统调用证据 捕获相关系统调用: 目标使用 打开,没有 ,然后写入: 缺少 是问题的核心。内核在打开调用期间解析符号链接并截断目标。 修复 上游修复添加了 到 Unix 目标打开通过 ,这样目标路径上的符号链接会导致打开失败而不是跟随链接。 信用 由 Ali Firas (thesmartshadow) 报告。