被忽视15年的Python漏洞 导致35万项目陷入代码执行风险

Python 编程语言中一个被忽视了 15 年的漏洞现在重新成为人们关注的焦点,它可能影响超过 350,000 个开源存储库并可能影响代码执行。

Python 编程语言中一个被忽视了 15 年的漏洞现在重新成为人们关注的焦点,因为它可能影响超过 350,000 个开源存储库并可能影响代码执行。
该安全问题于 2007 年披露并标记为的CVE-2007-4559漏洞,从未收到补丁,唯一提供的缓解措施是警告开发人员有关风险的文档更新。

被忽视15年的Python漏洞 导致35万项目陷入代码执行风险

CVE-2007-4559漏洞

该漏洞存在于 Python tarfile 包中,存在于使用未净化的 tarfile.extract() 函数或 tarfile.extractall() 的内置默认值的代码中。这是一个路径遍历错误,使攻击者能够覆盖任意文件。
自 2007 年 8 月首次报告以来,CVE-2007-4559 的技术细节已经公开 。虽然没有关于该漏洞被用于攻击的报告,但它代表了软件供应链中的一个风险。

今年早些时候,在调查另一个安全问题时,Trellix 的一名研究人员重新发现了 CVE-2007-4559,Trellix 是一家提供扩展检测和响应 (XDR) 解决方案的新公司,由 McAfee Enterprise 和 FireEye合并而成。

“在调用 tarfile.extract() tarfile.extractall() 之前未能编写任何安全代码来清理成员文件会导致目录遍历漏洞,使不良行为者能够访问文件系统” – Charles McFarland,漏洞研究员Trellix 高级威胁研究团队

该缺陷源于以下事实: Python 的 tarfile模块中的提取函数中的代码 明确信任 TarInfo 对象中的信息“并将传递给提取函数的路径和 TarInfo 对象中的名称结合起来”

被忽视15年的Python漏洞 导致35万项目陷入代码执行风险

披露后不到一周, Python 错误跟踪器上的一条消息 宣布该问题已关闭,修复更新文档并警告“从不受信任的来源提取档案可能很危险”。

大约有350,000 个项目受到影响

通过分析影响,Trellix 研究人员发现该漏洞存在于数以千计的开源和闭源软件项目中。

研究人员搜集了 257 个更有可能包含易受攻击代码的存储库,并手动检查了其中的 175 个以查看它们是否受到影响。表明其中 61% 的人容易受到攻击。

对其余存储库运行自动检查,受影响项目的数量增加到65%,表明这是一个普遍存在的问题。

然而,小样本集仅作为基准,用于估计 GitHub 上所有受影响的可用存储库。

“在 GitHub 的帮助下,我们能够获得更多的数据,包括588,840 个独特的存储库,这些存储库在其 python 代码中包含‘import tarfile’”——Charles McFarland

手动验证的 61% 漏洞率,Trellix 估计有超过 350,000 个易受攻击的存储库,其中包括许多机器学习工具(例如 GitHub Copilot)使用,帮助开发人员更快地完成项目。

这种自动化工具依赖于来自数十万个存储库的代码来提供“自动完成”选项。如果他们提供不安全的代码,问题会在开发人员不知情的情况下传播到其他项目。
漏洞代码

进一步研究这个问题,Trellix 发现易受 CVE-2007-4559 攻击的开源代码“涵盖了众多行业”。

正如预期的那样,受影响最大的是开发部门,其次是网络和机器学习技术。
受影响行业统计

发布者:墨菲安全,转发请注明出处:https://www.murphysec.com/blog/vulnerability-analysis/4669.html

(0)
上一篇 2023年2月1日 11:26
下一篇 2023年2月6日 14:57

相关推荐

  • Apache IoTDB grafana-connector模块SQL注入分析

    漏洞简述 Apache IoTDB 是面向IoT场景存储时序数据的数据管理系统,具备跟Grafana、spark等系统的集成能力。 4月8日,IoTDB 修复了其中 grafana-connector 模块中的 SQL 注入漏洞。 由于 grafana-connector 模块中 BasicDaoImpl 类的 querySeriesInternal 方法存…

    2023年1月4日
  • Django Trunc 和 Extract 方法存在 SQL 注入漏洞(CVE-2022-34265)

    漏洞简述 Django是一个由Python语言编写的开源Web应用框架,github上star为64.9K。 7月4日,Django官方修复了一个SQL注入漏洞。如果Trunc()的kind参数和Extract()的lookup_name参数没有进行安全过滤,可能会造成SQL注入的风险。 漏洞分析 以Django 4.0版本为例,可以通过官方提供的测试用例进…

    2023年1月4日
  • Ghost 博客系统后台代码执行漏洞分析

    漏洞简述 Ghost 是以Node.js语言开发的一款开源博客程序,在Github上其star为超过4万。 漏洞分析 漏洞因为需要后台权限,有一定利用条件,有趣的点在于Ghost的RCE漏洞是由于moment.js下的路径遍历和文件包含漏洞,再加上Ghost中的文件上传和指定locale功能。moment.js中的文件包含漏洞,在一般情况下可能影响较小,但结…

    2023年1月4日
  • Spring Cloud Function 3.0.0.RELEASE~3.2.2 版本SPEL表达式注入漏洞

    漏洞发现时间 2022-03-24 漏洞验证时间 2022-03-25,已第一时间提交CNVD 标题 Spring Cloud Function 3.0.0.RELEASE~3.2.2 版本SPEL表达式注入漏洞 漏洞编号 MPS-2022-6799 发现方式 墨菲安全实验室情报预警监控 语言 java 影响组件及版本 org.springframework…

    漏洞分析 2023年1月4日
  • Confluence WIKI OGNL注入漏洞(CVE-2022-26134)

    简述 6月4日,墨菲安全实验室监测发现Atlassian修复了Confluence Server 和 Confluence Data Center 中的OGNL注入漏洞。 Atlassian Confluence是企业常用的wiki系统,攻击者无需认证可利用漏洞在Confluence Server 或 Confluence Data Center 系统中执行…

    2023年1月4日

发表回复

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

联系我们

400-180-9568

邮件:hi@murphysec.com

工作时间:周一至周五,10:00-19:00,节假日休息

关注公众号

20230105-100741