CVE-2026-46383Microsoft APM 是一个开源的 AI 代理依赖管理器。在 0.13.0 版本之前,该软件在 Windows 系统上存在存档提取边界检查失败的漏洞。当用户使用 `apm install` 安装本地 .tar.gz 包时,如果该包未被识别为标准插件格式,APM 会尝试探测其是否为旧版 bundle。在 Python 3.12 之前的运行环境中,该探测过程直接使用 `tar.extractall()` 提取不受信任的 tar 成员,且未过滤 Windows 绝对路径(如 D:/...),导致攻击者可利用此缺陷覆盖系统文件。
该漏洞源于 Microsoft APM 在处理遗留 bundle 探测时的不安全解压逻辑。受影响的代码在检测到非插件格式的 .tar.gz 文件时,会调用 Python 的 `tarfile.extractall()` 方法。在 Python 3.10 和 3.11 版本中,该方法不会自动拒绝包含绝对路径的文件名。攻击者可以构造一个特制的 tar.gz 文件,其中包含带有绝对路径(如 `D:/Windows/System32/config`)的恶意文件。当受害者执行 `apm install` 命令安装该恶意文件时,由于缺乏路径验证,文件会被解压到攻击者指定的任意位置。尽管攻击需要用户交互,但成功的利用将导致系统完整性受到严重影响。