近期,来自Synk的安全研究专家公布了一个高危漏洞的技术细节信息,而这个漏洞将影响多个负责处理压缩文档文件的开源代码库。
据了解,该漏洞名叫“Zip Slip”,很多能够处理文档文件解压缩的开源编码工具、插件和代码库都会受到该漏洞的影响。其中受影响的文档格式包括tar、jar、war、cpio、apk、rar和7z,这也就意味着该漏洞更是一个底层问题,而不是某种特殊的编码漏洞。
该漏洞将导致文件被解压缩至错误的位置根据研究人员的描述,Zip Slip漏洞是由一种“任意文件重写”漏洞和“目录遍历”漏洞共同导致的,而这将允许攻击者将目标压缩文档解压缩至非常规解压路径,并重写其中的敏感文件,例如操作系统关键代码库或服务器配置文件等等。
Synk团队在其发表的安全公告中表示:“攻击者在利用该漏洞实施攻击时,需要满足两个条件,首先需要准备一份恶意文档,并在不会进行任何检查验证的情况下进行代码提取。”
研究人员表示,该漏洞发现于今年的四月份,并且他们一直在跟多个开源代码库的维护人员进行合作以尽快解决这个问题。
多个开源代码库受到影响Synk团队在GitHub上发布了一份受Zip Slip漏洞影响的代码库列表,感兴趣的同学可以点击【这里】查看。
就目前的情况来看,很多采用JavaScript、Python、Ruby、.NET、Go和Groovy等编程语言开发的代码库都会受到Zip Slip漏洞的影响,而受其影响最严重的是Java生态系统,因为在Java生态系统中并不存在官方推荐的用于处理压缩文档的官方代码库。正是为了解决这个问题,很多开发者才通过自己的努力开发除了各种各样用于处理压缩文档的代码库,而在这些代码库中绝大多数都会受到Zip Slip的影响。而且需要注意的是,很多分享在StackOverflow上的代码库都存在Zip Slip漏洞,因此很多采用Java编程语言开发的桌面端、移动端甚至Web应用程序都会受到Zip Slip漏洞的影响,而且大部分开发人员对此都一无所知。
为了帮助开发人员更好地了解Zip Slip攻击并协助检测应用程序是否存在该漏洞,Synk团队专门发布了一份关于Zip Slip漏洞的技术细节白皮书,感兴趣的同学可以点击【这里】获取。