一个15年前的Python漏洞肆虐全球软件界

Python开源编程语言中一个15年前的漏洞在许多地方仍未修补,因此得以蔓延到全球成千上万个开源和闭源项目。研究人员警告,这无意中构成了一条大范围易受攻击的软件供应链,大多数受影响的组织还蒙在鼓里。

Trellix高级研究中心的分析师发现,一个与路径遍历相关的漏洞被编号为CVE-2007-4559,目前在350000多个独特的开源代码存储库中仍未修补,导致应用软件容易被利用。

首席工程师兼漏洞研究主管Douglas McKee在9月21日发表的博文中表示,这个有问题的代码库存在于遍布众多行业的软件中,主要是软件开发、人工智能/机器学习和代码开发等领域,还包括安全、IT管理和媒体等诸多领域。

研究人员表示,Python tarfile模块还存在于任何使用Python的项目的一个默认模块中,目前广泛出现在AWS、Facebook、谷歌、英特尔和Netflix开发的框架中,以及用于机器学习、自动化和Docker容器化的应用程序中。

研究人员表示,虽然该漏洞让攻击者可以逃离目录(文件应该被解压到该目录),但攻击者也可以利用该漏洞执行恶意代码。

McKee说:“今天,这个未加制止的漏洞被无意中添加到全球成千上万开源和闭源项目中,留下了巨大的软件供应链攻击面。”

新问题,旧漏洞

McKee在博文中写道,Trellix的研究人员最近发现Python的tarfile模块没有合理检查企业设备中的路径遍历漏洞后,以为无意中发现了一个新的Python零日漏洞。不过他们很快就意识到,这个漏洞是之前就已发现的。

进一步深挖及后来得到GitHub的合作后发现,大约287万个开源文件含有Python的tarfile模块,该模块出现在大约588000个独特的代码存储库中。Trellix分析后发现,这些实例中约61%易受攻击,研究人员凭此估计目前有350000个易受攻击的Python代码存储库。

在开源界,找不到可以责怪的对象

该漏洞在整个软件界蔓延这么久、却未加制止有诸多原因;然而McKee特别指出,将具体责任归咎于Python项目、该项目的众多维护者或任何使用该平台的开发人员有失公允。

他写道:“首先应明确一点,造成CVE-2007-4559目前的这种状态,不该归咎于任何一方、组织或个人,但无论如何我们都有责任。”

McKee表示,由于Python之类的开源项目由一群志愿者而不是一个联合组织(以及非营利基金会)运行和维护,因此更难及时跟踪和修复已知的问题。此外,库或软件开发工具包……将安全地使用API视为开发人员的一部分责任并不少见。

的确,Python在tarfile函数的文档中就使用它的风险发出了警告,明确告诫开发人员:由于目录遍历问题,永远不要“在没有事先检查的情况下解压来源不明的存档”。

McKee表示,虽然警告是迈出的“积极一步”,提醒人们注意该问题,但显然没有阻止漏洞持续存在,因为仍需要由使用该代码库的开发人员确保自己构建的软件是安全的。

他补充道,使问题更严重的是,大多数为开发人员提供的关于如何使用该平台模块的Python教程并没有清楚地表明如何避免tarfile 模块的不安全使用,包括Python自己的文档以及utorialspoint、geeksforgeeks和askpython.com等流行网站。

McKee特别指出,这种差异使得该漏洞被编写到整条供应链中,这个趋势可能会延续数年,除非对这个问题有更广泛的认识。

利用漏洞“异常容易”

在技术方面,CVE-2007-4559是Python的tarfile模块中的路径遍历攻击,它让攻击者可以通过为TAR存档的文件名添加“..”序列来覆盖任意文件。

Trellix漏洞研究人员Charles McFarland在周三发表的关于该问题的另一篇博文中特别指出,这个实际漏洞源自使用未净化处理的tarfile.extract()或tarfile.extractall()的内置默认值的两三行代码。

他写道:“未编写在调用tarfile.extract()或tarfile.extractall()之前净化处理成员文件的任何安全代码导致了目录遍历漏洞,从而使不法分子能够访问文件系统。”

攻击者要利用该漏洞,就需要为文件名添加带有操作系统分隔符(“/”或“\”)的“..”,以逃离目录(文件本该被解压到该目录)。Python的tarfile模块让开发人员恰好可以做到这点。

这个广泛的Python tarfile漏洞浮出水面,实际上得益于Trellix漏洞研究实习生Kasimir Schulz对另一个问题开展的研究。周三他发表了第三篇独立的Trellix博文,详细描述了利用CVE-2007-4559多么“异常容易”。

Schulz在博文中解释,Python中的Tarfile包含多个不同的文件和元数据,元数据后来用于解压缩tarfile本身。TAR存档文件中包含的元数据包括但不限于文件名、文件大小和校验和之类的信息以及文件存档时有关文件所有者的信息。

Schulz写道:“tarfile模块让用户可以添加过滤器,过滤器可用于在文件的元数据添加到TAR存档之前解析和修改该元数据。”这使攻击者能够用短短六行代码即可创建漏洞利用工具。

Schulz在博文中继续详细解释了他如何使用该漏洞和一个名为Creosote的定制脚本(该脚本可搜遍目录,扫描并分析Python文件),在Spyder IDE中执行恶意代码。Spyder是一个免费的开源科学环境,为Python编写,可以在Windows和macOS上运行

聚焦供应链

tarfile问题再次凸显了软件供应链这一攻击面。由于攻击者可以通过攻击存在于多个平台和企业环境中的有缺陷代码造成广泛影响,这个攻击面近年来越来越惹人瞩目。这可用于大大扩大恶意活动的影响,无需威胁分子多花力气。

供应链遭到这些类型的攻击此前已有很多例子,如今臭名昭著的SolarWinds和Log4J场景就最为知名。前者始于2020年12月下旬,SolarWinds Orion软件遭到破坏,这一事件蔓延到次年,众多组织遭到多起攻击。后一起事件始于2021年12月上旬,在广泛使用的Java日志工具中发现了一个名为Log4Shell的漏洞,该漏洞引发了另外多个漏洞,导致数百万应用程序易受攻击,其中许多应用程序至今仍未修补。

最近,攻击者已经开始尝到直接攻击开源代码存储库以植入他们自己的恶意代码带来的甜头,这些代码可以在以后被用来攻击供应链。事实上,Python项目已经发现自己被盯上了。

8月底,攻击者针对Python包索引(PyPI)的用户发动了首起网络钓鱼攻击,旨在窃取用户的凭据,那样威胁分子就可以将中招的软件包加载到代码存储库中。8月早些时候,在一家安全供应商警告威胁分子将恶意代码嵌入到软件包安装脚本后,PyPI已经从注册库删除了10 个恶意代码包。

本文翻译自:https://www.darkreading.com/application-security/15-year-old-python-flaw-software-worldwide如若转载,请注明原文地址。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/145595.html<

(0)
管理的头像管理
上一篇2025-03-10 17:00
下一篇 2025-03-10 17:01

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注