17611538698
webmaster@21cto.com

Python 15年未修的漏洞可能影响 35万余个开源项目

资讯 0 841 2022-09-26 09:39:07

由FireEye与McAfee Enterprise重组的安全公司Trellix本周发出警告,编程语言 Python的Tarfile库中含有一个15年前就被发现的安全漏洞CVE-2007-4559。

当初此风险等级只被列为6.8的目录遍历(Directory Traversal)漏洞,但并未被及时修补,然而,安全研究人员却发现它很轻易就可用来执行程序,估计影响超过35万个开源项目。

Tarfile为Python的内置模块,因此该漏洞将广泛存在于任何使用Python的框架中,从Netflix、AWS、Intel、Google到Meta,包括涉及人工智能/机器学习、容器化、自动化、Web开发、媒体、安全、IT管理等多个领域。

威胁者只要上传一个由两到三行代码产生的恶意程序,就能允许其执行任意程序,达到控制目标机器之目的。

图片


“该漏洞是tarfile模块中的extract和extractall函数中的路径遍历攻击,允许攻击者通过在TAR档案中的文件名中添加‘..’序列来覆盖任意文件。”Trellix的安全研究员Kasimir Schulz在一篇文章中说。

简单地说,威胁者可以利用这个弱点上传恶意tarfile,使其有可能逃脱文件被提取到的目录,并实现代码执行,从而使对手有可能夺取对目标设备的控制。

“在没有事先检查的情况下,千万不要从未知来源提取档案,"tarfile 的 Python 文档中写道。“有可能文件是在路径之外创建的,例如,具有以‘/’开头的绝对文件名或以两个点‘..’开头的文件。”

Kasimir Schulz指出,他们是在调查另一个安全漏洞时,无意间遇到CVE-2007-4559,原本以为它是个新的零日安全漏洞,没想到是2007年就被曝光的老旧漏洞;此漏洞在过去并未受到足够重视,在大多数的状况下,却允许黑客写入文件而执行相关代码。

Trellix团队已成功攻陷了基于Python的Spyder IDE与Polemarch中的CVE-2007-4559漏洞。

为了估算CVE-2007-4559漏洞的规模,研究人员选出了257个最有可能含有该漏洞的储存库,发现当中有175个含有CVE-2007-4559,比例为61%,而在GitHub上的项目中,于Python代码中包含输入Tarfile的模块总计有588,840个,若以61%比例来计算,那么有超过35万个开源项目含有该漏洞。

图片

Trellix 团队开发了一个Python脚本称为Creosote(GitHub地址:https://github.com/advanced-threat-research/Creosote)来寻找CVE-2007-4559漏洞,该工具适用于Python 3.9及之后的版本,并同时支持Windows、Linux及macOS。

编辑:手扶拖拉斯基
参考:
https://thehackernews.com/2022/09/15-year-old-unpatched-python.html
https://www.trellix.com/en-us/about/newsroom/stories/research/tarfile-exploiting-the-world.html

评论