Python曝出15年“老洞”,数十万开源项目受影响

发布时间 - 2022-09-23 16:49:06    点击率:458次

近日,Trellix高级研究中心在Python的tarfile模块中发现一个存在长达15年之久的漏洞(CVE-2007-4559),全球数十万个开源和闭源项目受漏洞影响。研究人员警告说,这无意中产生了一个规模超大的软件供应链攻击面,大多数受影响的组织甚至都不知道。

据Trellix分析师透露,该漏洞是Python tarfile模块中的一个与路径遍历相关的漏洞,被跟踪为CVE-2007-4559,目前有超过35万个开源存储库存在该尚未修补的漏洞,使得软件应用程序非常容易被利用。

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

研究人员指出,Python tarfile模块是任何使用Python的开发项目的默认模块,目前广泛存在于AWS、Facebook、Google、Intel和Netflix创建的框架中,以及用于机器学习、自动化和Docker容器化的应用程序中。

该漏洞允许攻击者将文件提取到指定目录之外,同时攻击者也可以利用该漏洞执行恶意代码。

“今天,这个漏洞已被无意中添加到全球数十万个开源和闭源项目中,造成了巨大的软件供应链攻击面。”McKee说道。

旧漏洞,新问题

McKee在帖子中写道,最近一次企业设备的路径遍历漏洞检查中发现Python tarfile模块表现异常,Trellix研究人员认为他们偶然发现了一个新的零日Python漏洞。然而,随着调查的深入他们很快意识到这个漏洞“年份久远”。

通过对GitHub的进一步挖掘,研究者发现在大约58.8万个存储库中,大约有287万个包含Python tarfile模块的开源文件。Trellix的分析结果发现,这些实例中约有61%易受攻击,研究人员据此估算有35万个易受攻击的Python存储库。

开源安全无人担责

该漏洞能够逃避检查,在整个软件供应链中传播这么长时间的原因有很多。但McKee认为,将具体责任归咎于Python项目的维护者或任何使用该平台的开发人员是不公平的。

“尽管问题已经暴露,但我们首先要明确一点,漏洞CVE-2007-4559的问题不应该归咎于任何一方、组织或个人。”McKee写道。

由于像Python这样的开源项目是由一群志愿者而不是一个组织运行和维护的,因此更难及时跟踪和修复已知问题。

此外,“很多时候,安全使用库或软件开发工具包的API被看作是开发人员的责任。”McKee指出。

事实上,Python在Tarfile函数文档中明确警告开发人员注意目录遍历风险,不要“在没有事先检查的情况下从不受信任的源中提取档案”。但是,显然该警告并未阻止漏洞的持续存在和蔓延。

McKee补充说,加剧这个问题的原因是,大多数为开发人员提供的关于如何使用平台模块的Python教程——包括Python自己的文档和流行的网站,如tutorialspoint、geeksforgeeks和askpython.com——并未清楚指出如何避免不安全地使用tarfile模块。

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

漏洞利用“非常容易”

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

Trellix漏洞研究人员Charles McFarland在周三发表的一篇博文中指出,实际的漏洞来自使用未经处理的tarfile.extract()或tarfile.extractall()的内置默认值的两三行代码。

“未能在调用tarfile.extract()或tarfile.extractall()之前编写任何安全代码来清理成员的文件会导致目录遍历漏洞,从而使不良行为者能够访问文件系统。”他写道。

攻击者要利用此漏洞,需要在文件名中添加操作系统分隔符(“/”或“\\”)和“..”,将文件提取到预定目录以外,而Python的tarfile模块让开发人员能够做到这一点。

Trellix漏洞研究实习生Kasimir Schulz在周三发表的博客文章中详细描述了利用该漏洞是多么“难以置信的容易”。(https://www.trellix.com/en-us/about/newsroom/stories/threat-labs/tarfile-exploiting-the-world.html

Schulz在他的文章中解释说,Python中的Tarfile包含多个不同文件和元数据的集合,这些文件和元数据后来用于解压缩Tarfile本身。TAR存档中包含的元数据包括但不限于文件名、文件大小和校验和等信息,以及文件存档时文件所有者的信息。

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

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

下一个目标:软件供应链

Tarfile的漏洞再次凸显了软件供应链作为一个攻击面存在的严重问题,因为攻击者可以通过攻击广泛存在于多个平台和企业环境中的有缺陷代码来实施大规模恶意攻击活动。

类似的软件供应链攻击已经有很多案例,例如震惊全球的SolarWinds和Log4j漏洞攻击。后者是2021年12月上旬披露的在广泛使用的Java日志工具中的一个名为Log4Shell的漏洞,该漏洞引发了多次利用,并使数百万应用程序容易受到攻击,其中许多应用程序至今仍未修补。

最近,攻击者已经开始直接在开源代码存储库注入恶意代码并尝到甜头。这些“毒化”代码可被利用来进行供应链攻击。事实上,Python项目此前已经遭受过类似攻击。

今年8月下旬,攻击者针对Python包索引(PyPI)的用户进行了首次网络钓鱼攻击,试图窃取用户的凭据,以便将恶意包加载到存储库中。当月早些时候,在一家安全供应商警告攻击者将恶意代码嵌入包安装脚本后,PyPI从项目库中删除了10个恶意代码包。

声明:本文来自GoUpSec

最新文章 第十二版《网络安全企业100强》发布 开源推荐算法为什么并不“可靠”? 虹膜写真风靡年轻人:小心泄露敏感个人信息 国内最大IT社区CSDN被挂马,CDN可能是罪魁祸首? Apache Struts文件上传漏洞 (CVE-2024-53677) 安全风险通告 工信部:关于防范新型勒索病毒Ymir的风险提示 美国报告揭示俄罗斯战略信息攻击:从攻击方法到战略效果 最危险的网络攻击:云勒索软件 个人信息保护合规审计:个人信息删除落地与审计 Forrester:Akamai创新微分段技术引领企业安全升级,实现 152%高ROI Fortinet发布《2025年网络威胁趋势预测报告》 揭秘四大威胁挑战 榜上有名!360入选2024年天津市网络安全应用场景优秀案例 只需一个暗号,即可戳穿语音克隆骗局 写在IDCC2024数字基础设施国际合作大会之前 IETF的运行方式及RFC的形成 《AI时代深度伪造和合成媒体的安全威胁与对策(2024版)》报告发布 UnitedHealth勒索软件攻击事件应吸取的六个备份教训 网络安全产品奥斯卡 2024年度赛可达优秀产品奖(SKD AWARDS) “危“”机“并存,五位网络安全大咖预警2025年安全态势 赋能智算未来,CDCE2024国际数据中心展12月5日上海璀璨开幕 俄罗斯黑客组织渗透和利用巴基斯坦黑客组织服务器案揭秘 国家安全部:警惕开源信息成为泄密源头 “清朗·网络平台算法典型问题治理”专项行动中的排名算法 游戏玩家请注意!Winos4.0木马已“潜伏” 2024 DAMS中国数据智能管理峰会即将在上海举办 WAF气数已尽? 网安巨头Palo Alto全球数千防火墙被攻陷:因开发低级错误造成零日漏洞 数字城市AI安全运营中心签约揭牌,360赋能长三角城市安全新篇章 勒索软件忙招人,2024年网络威胁五大新趋势 360发布全球首份《大模型安全漏洞报告》,曝光近40个大模型相关安全漏洞 值得关注的十二大网络安全风险评估工具及选型指南 俄黑客通过“近邻攻击”远程入侵美国企业WiFi网络 四校签约、六家授牌!360与河南高校再摘网络安全人才培育新果实 Apple多个在野高危漏洞在野利用通告 苹果官方警告:零日漏洞攻击瞄准Mac电脑用户 《密码法》颁布五周年:法治成效、实施难点与未来走向 27天!揭秘身份管理中凭证修复为何如此艰难? 微软“清理门户”,禁止杀毒软件访问Windows内核 云原生环境下的七大网络安全威胁及应对建议 ​透析恶意软件“四大家族”
在线客服
联系方式

热线电话

18556842815

上班时间

周一到周五

公司电话

027-85365976

二维码
线