前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一个 15 年未修补 Python 漏洞让攻击者可以执行代码:35 万个开源代码存储库岌岌可危

一个 15 年未修补 Python 漏洞让攻击者可以执行代码:35 万个开源代码存储库岌岌可危

作者头像
云头条
发布2022-09-27 17:18:27
4770
发布2022-09-27 17:18:27
举报
文章被收录于专栏:云头条云头条

Python编程语言中一个被忽视了整整15年的漏洞现在重新进入公众的视野,因为它可能会影响350000多个开源代码存储库,可能导致代码执行。

这个安全问题于2007年首次披露,被编号为CVE-2007-4559,却从未收到过补丁,唯一提供的缓解措施也无非是警告广大开发人员提防这个风险的文档更新。

自2007年以来一直未修补

这个漏洞存在于Python tarfile软件包中,具体存在于使用未作净化处理的tarfile.extract()函数或tarfile.extractall()内置默认值的代码中。这是一个路径遍历漏洞,使攻击者能够覆盖任意文件。

自2007年8月首次报告以来,CVE-2007-4559的技术详细信息就已经公之于众。虽然媒体并未报道过该漏洞被用于攻击中,但它确实是软件供应链的一大风险。

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

Trellix高级威胁研究团队的漏洞研究人员Charles McFarland说:“未编写在调用tarfile.extract()或tarfile.extractall() 之前净化处理成员文件的任何安全代码导致了目录遍历漏洞,从而使不法分子得以访问文件系统。”

该漏洞源自这个事实:Python的tarfile模块中的extract函数中的代码明确信任TarInfo对象中的信息,加入了被传递给extract函数和TarInfo对象中名称的路径。

CVE-2007-4559—路径结合文件名

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

估计350000个项目受到影响

Trellix研究人员在分析影响后发现,该漏洞存在于成千上万个开源和闭源软件项目中。

研究人员抽取了257个更有可能含有易受攻击代码的代码存储库,手动检查了其中的175个存储库,看看它们是否受到影响。结果发现,61%的代码存储库易受攻击。

对其余存储库运行自动检查后发现,受影响的项目数量增加到了65%,表明这是个广泛的问题。

然而,这个小样本集只是用来估计GitHub上所有受影响的代码存储库的基准。

Charles McFarland说:“在GitHub的帮助下,我们获得了一个庞大得多的数据集,包含588840个在python代码中含有‘import tarfile’的独特存储库。”

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

这类自动化工具依赖来自成千上万个存储库的代码,以提供“自动完成”选项。如果它们提供不安全的代码,这个问题就会在开发人员不知情的情况下蔓延到其他项目。

GitHub Copilot建议易受攻击的tarfile提取代码。

Trellix在进一步研究该问题后发现,易受CVE-2007-4559攻击的开源代码“遍布众多行业”。

正如预期的那样,受影响最大的是开发领域,其次是互联网和机器学习技术。

存在于诸多行业的易受CVE-2007-4559影响的代码。

利用CVE-2007-4559

再次发现该漏洞的Trellix漏洞研究人员Kasimir Schulz在今天的一篇技术博文中描述了在Windows版本的Spyder IDE中利用CVE-2007-4559的简单步骤,Spyder IDE是一种用于科学编程的开源跨平台集成开发环境。

研究人员表明,该漏洞在Linux上也可以被利用。他们在Polemarch IT基础架构管理服务上进行了测试,设法提升了文件写入权限,并实现代码执行。

除了让公众对漏洞及带来的风险引起注意外,Trellix还为11000多个项目开发了补丁。修复程序将在受影响的存储库的分叉中提供。稍后,它们将通过合并请求被添加到主项目中。

由于受影响的代码存储库数量众多,研究人员预计未来几周会有70000多个项目收到修复程序。然而,做到100%的项目都有补丁却是一项艰巨的挑战,因为合并请求也需要得到维护者的接受。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-09-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云头条 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
TI-ONE 训练平台
TI-ONE 训练平台(以下简称TI-ONE)是为 AI 工程师打造的一站式机器学习平台,为用户提供从数据接入、模型训练、模型管理到模型服务的全流程开发支持。TI-ONE 支持多种训练方式和算法框架,满足不同 AI 应用场景的需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档