漏洞概述 该漏洞涉及在从暂存tarball清单派生tarball文件名时,未验证包名称和版本。这可能导致路径遍历攻击,使得下载的文件可能超出预期的目录。 影响范围 受影响组件: 命令 潜在风险:攻击者可以通过构造恶意tarball清单,导致下载的文件写入到非预期的目录,从而可能执行任意代码或访问敏感文件。 修复方案 1. 验证包名称和版本:在从暂存tarball清单派生tarball文件名之前,验证包名称和版本。 2. 限制输出路径:将 的输出路径限制在选定的下载目录内。 3. 添加回归测试:为遍历攻击添加回归测试,确保修复有效。 POC代码 以下是修复后的相关代码片段: 测试覆盖 新增测试:为 函数和 函数添加了回归测试,确保路径遍历攻击被有效阻止。 总结 该修复通过验证包名称和版本,并限制输出路径,有效防止了路径遍历攻击,确保了下载文件的安全性。