CVE-2024-3094 xz-utils软件包 liblzma库存在后门
漏洞描述
在 xz 的上游 tarballs 中发现了恶意代码,从版本 5.6.0 开始。通过一系列复杂的混淆,liblzma 的构建过程从源代码中存在的伪装测试文件中提取了一个预构建的目标文件,然后用它来修改 liblzma 代码中的特定函数。这导致了一个修改过的 liblzma 库,可以被任何链接到该库的软件使用,拦截并修改与该库的数据交互。
https://nvd.nist.gov/vuln/detail/CVE-2024-3094
红帽警告称,大多数 Linux 发行版中包含的 XZ 格式压缩实用程序 XZ Utils 中的漏洞 (CVE-2024-3094) 可能“使恶意行为者能够破坏 sshd 身份验证并远程获得对整个系统的未经授权的访问”。
xz是什么?
xz 是一种通用数据压缩格式,几乎存在于每个 Linux 发行版中,包括社区项目和商业产品发行版。从本质上讲,它有助于将大文件格式压缩(然后解压缩)为更小、更易于管理的大小,以便通过文件传输进行共享。
后门的发现
漏洞的原因实际上是存在于xz库的版本5.6.0(于2月底发布)和5.6.1(于3月9日发布)中的恶意代码,这是由微软的PostgreSQL开发人员和软件工程师Andres Freund意外发现的。
“在过去几周观察到Debian sid安装中liblzma(xz软件包的一部分)出现了一些奇怪的症状(通过ssh登录占用大量CPU,valgrind错误),我找到了答案:上游的xz存储库和xz tarballs 已经被植入了后门!”他通过oss-security邮件列表分享道。
邮件详情:
https://www.openwall.com/lists/oss-security/2024/03/29/4
哪些版本受到影响
xz库的版本5.6.0(于2月底发布)存在恶意代码。
xz库的版本5.6.1(于3月9日发布)存在恶意代码。
关于CVE-2024-3094
根据红帽公司的说法,在受影响的库的易受攻击版本中,恶意注入是经过混淆的,并且仅在下载包中完整地包含。
“Git分发缺少触发恶意代码构建的M4宏。第二阶段的产物在Git存储库中以注入方式在构建时存在,以防恶意的M4宏存在,”他们补充道。
“由此产生的恶意构建干扰了通过systemd对sshd的身份验证。”
tarballs中的恶意脚本已经被混淆,包含大部分利用的文件也是如此,因此这很可能不是偶然事件。
“考虑到数周的活动,提交者要么直接参与其中,要么他们的系统受到了相当严重的威胁。不幸的是,后者似乎是较不可能的解释,因为他们在各种列表上讨论了关于“修复”(由于在v5.6.0中注入代码引起的错误)的事宜,”Freund评论道。
“幸运的是,xz 5.6.0和5.6.1尚未被广泛地集成到Linux发行版中,而且如果集成了,大多数情况下是在预发布版本中。”
哪些发行版受到影响?
红帽表示 Fedora 41 和 Fedora Rawhide 中存在易受攻击的软件包,并敦促这些发行版的用户立即停止使用它们。
他们表示:“如果您在商业环境中使用受影响的发行版,我们鼓励您联系您的信息安全团队以了解后续步骤。”并补充说,红帽企业 Linux (RHEL) 的任何版本都不会受到影响。
SUSE 已为 openSUSE 用户发布了修复程序。
Debian表示该发行版的稳定版本不会受到影响,但存在后门的软件包是 Debian 测试、不稳定和实验发行版的一部分,这些发行版的用户应该更新 xz-utils 软件包。
红帽产品安全副总裁 Vincent Danen 告诉 Help Net Security:“最新版本的 xz 库中发现的恶意代码表明,拥有一支警惕且经验丰富的 Linux 安全团队监控软件供应链渠道是多么重要。” 。
“红帽与 CISA 和其他 Linux 发行版一起,能够在这一潜在威胁对更广泛的 Linux 社区构成重大风险之前识别、评估并帮助补救。”
CISA建议开发人员和用户将 XZ Utils 降级到未受影响的版本(例如 XZ Utils 5.4.6 Stable),并寻找任何恶意活动并向该机构报告任何积极的发现。
恶意代码影响
由此产生的恶意构建会通过 systemd 干扰 sshd 中的身份验证。 SSH 是远程连接系统的常用协议,而 sshd 是允许访问的服务。 在适当的情况下,这种干扰可能会使恶意行为者破坏 sshd 身份验证并获得对整个系统的远程未经授权的访问。
kali linux 关于 xz-utils 后门的所有信息
https://www.kali.org/blog/about-the-xz-backdoor/
xz-utils软件包从版本5.6.0到5.6.1开始,被发现包含后门(CVE-2024-3094)。该后门可能会允许恶意行为者破坏 sshd 身份验证,从而允许对整个系统进行远程未经授权的访问。
由于库的使用如此广泛,因此该漏洞的严重性对整个 Linux 生态系统构成了威胁。幸运的是,这个问题很快就被发现了,因此影响明显小于应有的影响。它已经在 Debian 和 Kali Linux 中进行了修补。
该漏洞影响Kali的时间为3月26日至3月29日,期间xz-utils 5.6.0-0.2可用。如果您在 3 月 26 日或之后但在 3 月 29 日之前更新了 Kali 安装,那么今天应用最新更新来解决此问题至关重要。但是,如果您在 26 日之前没有更新 Kali 安装,则不会受到此后门漏洞的影响。
如果您想检查是否安装了易受攻击的版本,我们可以执行以下命令:
kali@kali:~$ apt-cache policy liblzma5
liblzma5:
Installed: 5.4.5-0.3
Candidate: 5.6.1+really5.4.5-1
Version table:
5.6.1+really5.4.5-1 500
500 http://kali.download/kali kali-rolling/main amd64 Packages
*** 5.4.5-0.3 100
100 /var/lib/dpkg/status
如果我们在“已安装:”旁边看到版本号为5.6.0-0.2,则我们必须升级到最新版本,即5.6.1+really5.4.5-1。
我们可以使用以下命令来完成这个操作:
kali@kali:~$ sudo apt update && sudo apt install -y --only-upgrade liblzma5
...
kali@kali:~$
更新完毕
更多信息可以在Help Net Security中找到有关该漏洞详细信息的摘要帖子、Openwall中的初始披露信息以及NIST对此漏洞的 NVD 条目。