关键信息: 1. Zip Slip 漏洞的定义和影响: - Zip Slip 是一种常见的任意文件覆盖漏洞,通常会导致远程命令执行。 - 它在 2018 年 6 月 5 日被 Snyk 安全团队发现并负责任地披露,影响了数千个项目,包括来自 HP、Amazon、Apache、Pivotal 等的项目。 - 这种漏洞在多个生态系统中被发现,包括 JavaScript、Ruby、.NET 和 Go,但在 Java 中尤为普遍,因为 Java 没有提供高级处理档案(例如 zip)文件的库。 2. 漏洞的利用: - 漏洞利用需要一个特殊构造的档案,其中包含目录遍历文件名(例如 )。 - 这种漏洞可以影响多种档案格式,包括 tar、jar、war、cpio、apk、rar 和 7z。 - 如果需要下载技术白皮书,可以点击页面上的按钮。 3. 漏洞的利用流程: - 利用该漏洞需要一个恶意的档案和提取代码,该代码不执行验证检查。 - 首先,需要一个或多个文件,这些文件在解压时会跳出目标目录。 - 其次,需要一个可以提取档案的工具或库,该工具或库在解压时没有对文件路径进行必要的目录遍历验证。 4. 受影响的项目: - Snyk 维护了一个 GitHub 存储库,列出了所有已知受 Zip Slip 漏洞影响的项目,包括修复日期和版本。 - 受影响的项目包括 Oracle、Amazon、Spring/Pivotal、LinkedIn、Twitter、Alibaba、Jenkins、Eclipse、OWASP、SonarQube、OpenTable、Arduino、ElasticSearch、Selenium、JetBrains 和 Google。 5. 建议的行动步骤: - 检查项目依赖的代码是否包含 Zip Slip 漏洞。 - 将 Zip Slip 安全测试纳入应用构建管道。 - 使用 Snyk 或其他依赖性漏洞扫描工具来确定是否使用了受漏洞影响的库。 6. 感谢: - Snyk 安全团队感谢所有参与提高意识、发现和修复漏洞的供应商、项目所有者和社区成员。