添加到Python文档中的警告比补丁更可取

Python Path travers traversal bug仍然存在于350k开源存储库中

估计有350,000个开源存储库受到15岁的影响路径遍历安全研究人员说,Python的Tarfile模块中的脆弱性。

在调查无关漏洞的同时,“偶然发现”了未解决的问题后,他们最初认为该缺陷是一个新的零日错误,然后才意识到它可以追溯到2007年。

最初指定的严重程度得分为CVSS 6.8,CVE-2007-4559Trellix研究人员Kasimir Schulz说,允许攻击者从文件写作中获得代码执行博客文章昨天(9月21日)出版。


赶上最新的开源软件安全新闻


舒尔茨解释了Trellix研究人员如何成功地针对无线协议分析仪通用无线电黑客,IT基础架构管理服务Polemarch和Spyder IDE实现了这一结果,这是科学编程的开源开发环境。

修补马拉松

在单独的trellix中博客文章道格拉斯·麦基(Douglas McKee)说,大约300,000个文件的样本中有61%TARFILE模块这使得读写焦油档案成为可能受到该错误的影响。

Trellix为大约11,000个项目创建了补丁程序,并预计将在未来几周内再获得70,000个项目。

漏洞是“使用未经启动的两条或三行代码产生的漏洞tarfile.extract()或内置默认值tarfile.extractall(),”第三个trellix解释博客文章查尔斯·麦克法兰(Charles McFarland)。“未能编写任何安全代码以在调用之前对成员文件进行消毒tarfile.extract()或者tarfile.extractall()结果目录遍历脆弱性,使参与者对文件系统的访问不良。”

如果攻击者添加了..’与操作系统的分离器(’/' 或者 '\ \’)在文件名中,他们可以逃脱应该提取文件的目录。

只是警告

但是,Python错误线程从2007年开始,最近几天重新开放,结论是一位维护者断言:“ tarfile.py没错,其行为符合POSIX中的PAX定义和路径名分辨率指南。没有已知或可能的实际利用”。

维护者的确添加了警告Python保留的文档敦促开发人员“在未经事先检查的情况下切勿从不受信任的来源中提取档案”。

角案

Trellix的McKee承认,有合法的用例可以保存行为,可能是出于恶意目的而滥用的行为。但是,他说:“在这种情况下,我认为风险超过了容纳几个角落案件的奖励”,尤其是考虑到“大多数”的第三方在线教程似乎“错误地证明了对Tarfile模块的不安全使用”。

Trellix创建并开源了一种工具来帮助研究和修补过程,该工具通过利用AST中间表示来自动检测源代码中的漏洞。

杂酚油,该实用程序也提供了扫描关闭源存储库的手段。

Schulz总结说:“这种脆弱性非常容易利用”,并且在野外普遍存在,这使Python的Tarfile模块“威胁着全球基础设施的大规模供应链问题”。


你可能还喜欢解析服务器修复了将敏感用户数据处于危险中的蛮力错误