存在 15 年未被修补的 Python 漏洞,影响超 35 万个项目


安全公司 Trellix 的研究人员 Kasimir Schulz 发现了一个很容易被开发人员忽略的路径遍历(path traversal)漏洞,使得攻击者能够访问文件系统。经过进一步分析后,他发现这是一个早在 2007 年就已经披露过的 Python tarfile 包中的漏洞 CVE-2007-4559;产生于使用未经处理的 tarfile.extract() 函数或 tarfile.extractall() 的内置默认值的代码中。

该漏洞已有 15 年的历史,自 2007 年 8 月首次报告以来,其相关的技术细节也一直存在可用。但目前却从未收到过任何补丁,唯一提供的缓解措施是警告开发人员有关风险的文档更新。官方 Python 文档明确警告称“切勿在未经事先检查的情况下从不受信任的来源提取档案”。BleepingComputer 指出,虽然没有关于该漏洞被用于攻击的报告,但它仍代表了软件供应链中的一个风险。

Trellix 研究人员指出,该漏洞已存在于成千上万的开源/闭源项目中。他们抓取了一组 257 个更有可能包含易受攻击代码的存储库,并手动检查了其中的 175 个以查看它们是否受到影响。结果表明,其中 61% 的项目存在漏洞;在对其余的存储库进行自动检查后,受影响的项目数量增加到了 65%,表明了问题的普遍存在性。

然而,这个小样本集仅作为估算 GitHub 上所有受影响的存储库的基准。“在 GitHub 的帮助下,我们能够得到一个更大的数据集,包括 588,840 个在其 Python代码中包含'import tarfile'的独特仓库”。

基于手动验证的 61% 的漏洞率,Trellix 估计有超过 35 万个易受攻击的存储库,其中许多被用于帮助开发人员提升效率的机器学习工具(如 GitHub Copilot)使用。这种自动化工具依赖于来自数十万个存储库的代码来提供“auto-complete”选项。如果他们提供不安全的代码,问题就会在开发人员不知情的情况下传播到其他项目。

易受 CVE-2007-4559 攻击的开源代码“跨越了众多行业”。其中,受影响最大的是开发部门,其次是网络和机器学习技术。

Trellix 方面为 11,005 个存储库提供了补丁程序:在受影响的存储库的分支中提供,并可通过拉取请求添加到主项目中由于受影响的存储库数量众多,研究人员预计在接下来的几周内将继续这一修补工作。“预计这将影响所有易受攻击项目的 12.06%,到完成时将超过 7 万个项目。这是一个很大的数字,但绝不是 100%,因为所有的 Pull Request 都必须要被项目维护者接受”。

BleepingComputer 已联系 Python 软件基金会就 CVE-2007-4559 发表评论,但在发布时尚未收到答复。

更多详情可查看完整报告。


相关文章

2021-12-23

全局(CISA)就命令所有联邦民事机构“必须在圣诞节前修补好与 Log4j 相关的系统”。新加坡网络安全局 (CSA) 也与关键信息基础设施 (CII) 部门针对 Log4j  漏洞举行紧急会议,并发布漏洞的警示公告,密切关注漏洞发展。 同时

2021-12-21

12 月 16 日,来自 Maven Central 的 35,863 个可用软件包依赖于存在漏洞的 log4j 代码。这意味着 Maven Central 上超过 8% 的软件包至少有一个版本受漏洞影响(此数字不包括所有 Java 软件包,例如直接分发的二进制文件) 就生态系统影

2022-03-31

近日,最受欢迎的开源轻量级 Java 框架 Spring 被曝存在高危的 RCE(远程控制设备) 零日漏洞 ,、外媒 、 等站点对该漏洞进行了报道。 据网上疯传的介绍,该 RCE 漏洞源于 Spring 框架核心的 SerializationUtils#dserialize 方法,该方

2022-07-12

地撤回他的代码;和 left-pad 涉及商标纠纷的事件还是存在着一定的区别。 Unterwaditzer 在项目的 issue 列表中表示,他认为 PyPI 强制启用 2FA 是一个旨在保证少数公司的 SOC2 合规性的举措;但却以牺牲他的自由时间为代价,非

2021-12-24

为“NotLegit”,并指出这一漏洞自 2017 年 9 月以来就一直存在,很可能已经被利用。 Wiz 于 2021 年 10 月 7 日向微软报告了这个安全漏洞。微软方面在 12 月 7 日至 15 日期间向一些受影响严重的用户发送了警报邮件,目前该漏洞

2022-08-16

用户在系统上测试 PostgreSQL 15 的新功能,以帮助消除可能存在的错误或其他问题。虽然不建议在生产环境中运行 PostgreSQL 15 Beta 3,但鼓励找到针对此 Beta 版本运行典型应用程序工作负载的方法。 https://www.postgresql.org/developer/bet

2022-08-09

综述 OSCS社区共收录安全漏洞41个,值得关注的是Hadoop 存在shell命令注入漏洞(CVE-2022-35918),MinIO 存在路径遍历漏洞(CVE-2022-35919)和 rsync < 3.2.5 存在路径校验不严漏洞(CVE-2022-29154)。 针对NPM、Python仓库,共监测到 5 次

2022-02-21

来自谷歌安全研究团队 Project Zero 的研究表明,Linux 开发者在修复安全漏洞方面比其他任何人(包括谷歌)都要更加迅速。 从 2019 年到 2021 年,Project Zero 在标准的 90 天期限内共向供应商报告了 376 个问题。这些  bug 中的 351

2021-12-24

用,未启用该模块的Apache HTTP Server不受该漏洞影响。 修补建议 别修了,等死吧

2021-12-17

决 不过安全公司 Praetorian 的研究人员昨日表示,2.15.0 存在一个更严重的漏洞——信息泄露漏洞,可用于从受影响的服务器下载数据。 与此同时,Praetorian 已将该漏​​洞的所有技术细节发送给 Apache 软件基金会,他们尚

2022-09-16

据库领域资深专家、社区技术大牛、顶级投资人代表将对项目进行深度点评。此外,还有顶级投资人全程参与评选,让你的实力被更多人看到。 在 TiDB Hackathon ,你可以尽情发挥想象力与创造力,全情投入,实现自己的 idea

2022-07-01

需求工作中的 17%。 按月份划分的 Java 工作占比: 2. Python Python 成为了 2022 年需求量排名第二的编程语言。它的多功能性,从脚本、运行服务器、AI、用于数据分析等,是实现这一里程碑的关键。在这 8 个月时间里,DevJobsSca

2022-09-23

和 25.0.2 补丁在受支持的 track 上发布修正。该漏洞也可能存在于较旧的 OTP 版本中们建议受影响的用户在各自的 track 上升级到这些版本之一或更高版本,OTP 25.1 将是一个更好的选择。受影响的是那些直接或通过其他应用程序间接

2021-12-16

开发框架与Web应用中,用来记录日志信息。 由于组件存在 Java JNDI 注入漏洞,当程序将用户输入的数据记入日志时,攻击者通过构造特殊请求,来触发 Apache Log4j2 中的远程代码执行漏洞,从而利用此漏洞在目标服务器上执行任