章
目
录
最近,安全研究人员发现,在广泛使用的python – json – logger库中存在一个严重的安全漏洞,攻击者有可能利用这个漏洞在受影响的系统上执行任意代码,大家务必提高警惕。
这个漏洞的追踪编号为CVE – 2025 – 27607,最初通过通用漏洞评分系统(CVSS)评估,得分高达8.8,属于较为严重的漏洞等级。它主要影响python – json – logger库的3.2.0版本和3.2.1版本,问题的根源在于一个依赖项缺失。
安全研究员omnigodz在进行供应链攻击的实验研究时,发现了这个漏洞。python – json – logger软件包在其pyproject.toml文件中声明了一个名为msgspec – python313 – pre的依赖项,但诡异的是,这个依赖项在Python包索引(PyPI)上根本不存在,也没有任何实体注册过它。
omnigodz解释说:“在我的研究过程中,我发现了一个影响在软件包管理器上发布的软件包的重大缺陷。我查明PyPi软件包python – json – logger使用了一个可选依赖项,然而这个依赖项既不在PyPi存储库中,也未被任何实体注册。”
原来,msgspec – python313 – pre这个依赖项被它的所有者删除了,这就导致任何人都可以使用这个名称。恶意攻击者就有可能发布一个同名的、包含有害代码的软件包,从而带来严重的安全隐患。
一、概念验证(PoC)
当用户在Python 3.13环境中,使用命令pip install python - json - logger [dev]
安装python – json – logger及其依赖项时,他们很可能在毫不知情的情况下,下载并执行恶意软件包。
为了在不造成实际危害的情况下展示这个漏洞,omnigodz临时发布了一个同名的非恶意软件包,之后又将其删除,这样做有效地阻止了恶意行为者利用该漏洞。同时,该研究员保留了这个软件包名称的注册,防止其他人恶意使用。
omnigodz表示:“我发布的这个软件包没有任何恶意内容,因为我不想违反PyPi.org制定的任何政策,也不想让python – json – logger软件包的任何用户受到影响。”
值得注意的是,python – json – logger软件包非常受欢迎。根据PyPI的BigQuery数据库显示,它每月的下载量超过4300万次。如此广泛的使用,使得这个漏洞可能造成的危害被极大地放大了。
这个问题之所以出现,是因为大约一个月前,虽然通过提交记录1ce81a3从项目存储库中删除了该依赖项,但在3.2.1版本之后,这些更改并没有被推送到新版本中,导致这些版本的用户一直面临着漏洞风险。
二、缓解措施
目前,这个漏洞已经在3.3.0版本中得到修复,建议用户立即升级到该版本。同时,PyPI管理员也采取了措施,阻止缺失软件包的名称被使用,防止其被恶意行为者重新利用。由于这些保护措施的实施,该漏洞的严重程度评级已从“高”降至“低” 。
对于使用受影响库的组织,建议做好以下几点:首先,仔细检查自己的依赖项,确保没有存在风险的依赖;其次,尽快升级到已修复的版本;最后,要时刻监控系统是否存在可疑活动。如果发现msgspec – python313 – pre仍是依赖项之一,应马上将其删除,以保障系统安全。
比利时网络安全中心也发布了警告:“我们强烈建议在经过全面测试后,为具有最高优先级的易受攻击的设备安装更新。”希望大家都能重视起来,及时做好防范措施,避免因这个漏洞遭受损失。