漏洞关键信息 漏洞标题 Arbitrary File Write via Path Traversal in Rollup 4 漏洞类型 任意文件写入通过路径遍历 严重性 中等 CVE-ID CVE-2026-27606 受影响的版本 =3.0.0 =4.0.0 <4.59.0 已修复的版本 2.80.0 3.30.0 4.59.0 漏洞描述 Rollup模块打包器(特别是v4.x版本)存在一个任意文件写入漏洞,通过路径遍历利用。由于核心引擎中文件名清理不当,攻击者可以通过伪造的文件名(例如,通过CLI命名输入、手动分块别名或恶意插件)并使用遍历序列(../)来覆盖build过程有权限的主机文件系统上的任意文件。 漏洞详情 1. 不当清理:在sanitizeFileName.ts中使用的INVALID_CHAR_REGEXP未排除点(.)和前/后斜杠(/,\),允许../等遍历序列通过清理未被修改。 2. 不安全路径解析:在rollup.ts中,writeOutputFile函数使用path.resolve将输出目录与“清理后”的文件名组合,这会导致解析后的路径指向预期输出目录之外,从而完成任意写入操作。 影响 这是一个关键漏洞: 任意文件写入:攻击者可以覆盖敏感文件,如~/.ssh/authorized_keys, .bashrc或系统二进制文件,如果构建过程具有足够的权限。 供应链风险:恶意第三方插件或依赖项可以利用此漏洞在构建阶段将恶意代码注入到开发者机器的其他部分。 用户影响:在不受信任的存储库上运行构建的开发者存在系统被攻破的风险。