威胁检测和响应公司 Trellix 的研究人员发现了一个存在 15 年之久的 Python 漏洞,表明它比最初认为的更严重,并且可能影响数十万个应用程序。有问题的漏洞是 CVE-2007-4559,最初被描述为 Python 的“tarfile”模块中的目录遍历漏洞,该漏洞可能允许攻击者通过说服用户处理特制的 tar 档案来远程覆盖任意文件。
该漏洞从未正确修补,而是警告用户不要打开来自不受信任来源的存档文件。通过对 GitHub 的标准公共访问,能够找到超过 300,000 个包含 Python 的 tarfile 模块的文件,平均 61% 的文件容易受到 2022 年 CVE-2007-4559 的攻击。联系 GitHub 以查看是否我们可以更全面地了解这个存在 15 年之久的漏洞的足迹。在 GitHub 的合作下,能够确定在大约 588,000 个独特的存储库中大约有 287 万个开源文件,其中包含 Python 的 tarfile 模块。由于数据集很大,目前正在处理结果,然而,目前存在 61% 的易受攻击实例,这使我们估计超过 350,000 个独特的开源存储库将容易受到这种攻击。这个开源代码库跨越了众多行业。这些行业的概述可以在下面的图表中看到,我们预计如果所有软件的数据都可用,它会更广泛。
Trellix 的研究人员现在表明,攻击者可以利用该漏洞编写任意文件,并在大多数情况下执行恶意代码。他们针对几个使用易受攻击的 Python 模块的流行应用程序证明了这一点,甚至展示了攻击者如何使用社会工程在具有管理员权限的目标系统上执行任意代码。
这家网络安全公司发布了一个名为Creosote的开源工具,可用于扫描项目中是否存在此 tarfile 漏洞。使用此工具,他们扫描了公共 GitHub 存储库并发现了 300,000 个包含 tarfile 模块的文件,其中大约 61%容易受到利用 CVE-2007-4559 的攻击。
在 GitHub 的帮助下,他们进行了更全面的扫描,在近 590,000 个独特的存储库中识别出 287 万个包含 tarfile 模块的开源文件。如果其中 61% 易受攻击,则受 CVE-2007-4559 影响的开源项目总数约为 350,000 个。其中包括开发、人工智能/机器学习、网络、数据科学、IT 管理和其他行业的组织制作的应用程序。
此外,研究人员指出,有问题的模块也存在于许多闭源项目中。
Trellix说:“这个漏洞非常容易利用,几乎不需要了解复杂的安全主题。由于这一事实以及该漏洞在野外普遍存在,Python 的 tarfile 模块已成为威胁全球基础设施的巨大供应链问题。”