「漏洞溯源」Linux系统XZ Utils中的恶意代码实现远程代码执行插图
「漏洞溯源」Linux系统XZ Utils中的恶意代码实现远程代码执行插图1

一项新的分析显示,插入开源库XZ Utils的恶意代码也能够促进远程代码执行,XZ Util是主要Linux发行版中广泛使用的软件包。

上周,当微软工程师兼PostgreSQL开发人员Andres Freund警告数据压缩实用程序中存在后门时,这一大胆的供应链泄露事件曝光,被追踪为CVE-2024-3094(CVSS得分:10.0),远程攻击者可以绕过安全外壳身份验证,完全访问受影响的系统。

XZUtils是一个命令行工具,用于在Linux和其他类似Unix的操作系统中压缩和解压缩数据。

据称,该恶意代码是由一位名叫Jia Tan(又名Jia Cheong Tan或JiaT75)的项目维护人员故意引入的,这似乎是一次跨越多年的精心攻击。GitHub用户帐户创建于2021年。演员的身份目前未知。

Akamai在一份报告中表示:“威胁行为者大约两年前就开始为XZ项目做出贡献,慢慢建立信誉,直到他们被赋予维护者的责任。”。

在另一个巧妙的社会工程行为中,Jigar Kumar和Dennis Ens等sockputy帐户被认为被用来发送功能请求并报告软件中的各种问题,以迫使原始维护者——Tukaani项目的Lasse Collin——向存储库添加一个新的联合维护者。

贾坦在2023年对XZ Utils进行了一系列更改,最终于2024年2月发布了5.6.0版本。他们还隐藏着一个复杂的后门。

「漏洞溯源」Linux系统XZ Utils中的恶意代码实现远程代码执行插图2

“正如我在早些时候的电子邮件中暗示的那样,贾坦未来可能会在该项目中发挥更大的作用,”科林在2022年6月与库马尔的交流中表示。

“他一直在帮助很多列表外的人,实际上已经是一名联合维护人员了。:-)我知道git存储库中还没有发生太多事情,但事情是循序渐进的。无论如何,至少XZ Utils的维护人员已经在进行一些更改。”

后门影响XZ Utils 5.6.0和5.6.6的释放tarball,后者包含相同植入物的改进版本。柯林斯后来承认了该项目的违规行为,称这两个tarball都是由贾坦创建和签署的,他们只能访问现已禁用的GitHub存储库。

固件安全公司Binarly表示:“这显然是一项由国家资助的非常复杂的行动,具有令人印象深刻的复杂性和多年的规划。”。“如此复杂、专业设计的综合植入框架不是为一次手术开发的。”

「漏洞溯源」Linux系统XZ Utils中的恶意代码实现远程代码执行插图3

开源密码学家Filippo Valsorda对后门的深入研究还表明,受影响的版本允许特定的远程攻击者通过SSH证书发送任意有效载荷,该证书将以绕过身份验证协议的方式执行,从而有效地夺取对受害机器的控制权。

Akamai表示:“后门似乎被添加到易受攻击的机器上的SSH守护程序中,使远程攻击者能够执行任意代码。”。“这意味着,任何具有将SSH暴露在互联网上的易受攻击软件包的机器都有可能受到攻击。”

换句话说,后门允许具有预定私钥的远程攻击者劫持SSH守护进程以执行恶意命令。

不用说,Freund的意外发现是迄今为止发现的最重要的供应链攻击之一,如果该包被集成到稳定版本的Linux发行版中,可能会是一场严重的安全灾难。

JFrog说:“这次供应链攻击最值得注意的部分是攻击者的极端敬业精神,他们花了两年多的时间将自己确立为合法的维护者,提供在各种OSS项目中的工作,并在多个项目中提交代码以避免被发现。”。

与Apache Log4j的情况一样,这起事件再次凸显了对开源软件和志愿者运行项目的依赖,以及如果它们遭受妥协或存在重大漏洞可能带来的后果。

ReversingLabs表示:“更大的‘修复’是组织采用工具和流程,使其能够在自己的开发管道中使用的开源和商业代码中识别篡改和恶意功能的迹象。”。