被忽视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

相关推荐

  • Spark 存在 shell 命令注入(CNVD-C-2022-163612

    漏洞简述 3月24日,墨菲安全实验室情报预警监控发现 spark 提交修复 shell 命令注入的代码,当上传文件名可以被攻击者控制时,就可以构造恶意文件名造成远程任意命令执行。 Spark 是用于大规模数据处理的统一分析引擎。 用户上传文件后,tar 文件会被 hadoop 的 tar 命令解压,如果文件名被用户恶意构造后,就会导致 shell 命令注入。…

    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日
  • Onedev v7.4.14 路径遍历漏洞分析(CVE-2022-38301)

    漏洞简述 OneDev 是开源的一体化轻量DevOps平台,在OneDev 7.4.14及以前版本中存在路径遍历漏洞,具有项目管理权限的攻击者可以将恶意 jar 文件上传到 lib 目录,覆盖原有jar包,攻击者可利用此漏洞在服务器中写入任意文件或远程执行恶意代码。 漏洞分析 问题代码分析 项目管理员可以在 OneDev 的`build`模块对自己的一个项目…

    2023年1月9日
  • Apache IoTDB grafana-connector模块SQL注入分析

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

    2023年1月4日
  • Fastjson官方再次披露高危漏洞,包括rocketmq、jeecg-boot等近15%的github开源项目受影响

    2022年5月23日,fastjson 官方发布安全通报,fastjson <= 1.2.80 存在反序列化任意代码执行漏洞,在特定条件下可绕过默认autoType关闭限制,可能会导致远程服务器被攻击,风险影响较大。OSCS开源软件社区对此漏洞进行收录,漏洞信息如下: 漏洞评级:高危 影响组件:com.alibaba:fastjson 影响版本:&lt…

    漏洞分析 2023年1月4日

发表回复

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

联系我们

400-180-9568

邮件:hi@murphysec.com

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

关注公众号

20230105-100741