开发人员发现了 Linux XZ Utils 中的一个严重漏洞,XZ Utils 是一种用于 XZ 格式压缩的命令行工具。此安全漏洞
编号为
CVE-2024-3094
,可能允许未经授权的用户破坏 sshd 身份验证,从而可能打开完全远程访问系统的大门。
该漏洞的严重性达到了顶峰,其 CVSS 评分为
10 分
。这意味着它有可能危害其影响的系统的完整性,从而在网络安全领域造成严重影响。
CVE-2024-3094 的起源; XZ Utils 漏洞是什么?
PostgreSQL 开发人员兼 Microsoft 软件工程师 Andres Freund 发现了 CVE-2024-3094 漏洞。他注意到
“liblzma”(
Debian sid 安装上 XZ 软件包的一个组件)中的异常行为。
CVE-2024-3094漏洞卡(SOCRadar漏洞情报)
这些异常情况,例如 SSH 登录期间 CPU 使用率过高以及 Valgrind 检测到的错误,促使我们进行彻底调查。最终,Freund 发现 XZ 存储库和下载的 tarball 都已被泄露,从而允许在软件中引入后门。
XZ Utils 源代码中插入的恶意代码被精心隐藏,以避免在常规 Git 存储库中检测到。在构建过程中,此恶意代码会注入一个预编译文件,该文件会修改 liblzma 库的关键组件。
因此,某些 Linux 发行版无意中将受损的 liblzma 库合并到其 SSH 实现中,使它们容易受到远程攻击者的利用。
导致 CVE-2024-3094 的事件时间表
Evan Boehs
的一篇文章 提供了有关 Linux XZ Utils 中发现 CVE-2024-3094 漏洞的详细事件时间表。这一切都始于 “
Jia Tan
”于 2021 年创建
GitHub
帐户,他最初对 libarchive 做出了承诺,后来因其潜在的恶意性质而被发现可疑。
2022 年,Jia Tan 通过邮件列表提交了补丁,标志着新角色
Jigar Kumar
的加入,他因补丁的包含而受到压力。随后,Jia Tan 成为 XZ 的定期撰稿人,而 Jigar Kumar 则消失了。
XZ Utils 漏洞的起源 (
X
)
该文章揭示了针对“oss-fuzz”代码测试项目通过源代码伪装、混淆技术和规避策略来隐藏恶意活动的尝试。它重点介绍了对 Google oss-fuzz 项目以及启用该漏洞的测试基础设施的重大更新。
后门代码策略性地仅嵌入在完整的 XZ 源代码包下载中,而不是标准的 Git 存储库中。此外,有迹象表明有人试图通过破坏“oss-fuzz”代码测试项目来避免检测。
本文还讨论了突然推动将易受攻击的版本纳入 Debian,以及来自匿名帐户的可疑活动。它指出随后贾坦的 GitHub 帐户被暂停,以及 Lasse Collin 为恢复贾引入的更改而采取的行动。
此外,本文还深入研究了
OSINT
调查结果,包括来自 IRC 频道和 LinkedIn 个人资料的见解,揭示了与 Jia Tan 相关的潜在身份。最后,它讨论了 Git 日志中的发现,揭示了 Jia Tan 用户名的变化并推测了“Jia Cheong Tan”这个名字的起源。
哪些版本的 XZ Utils 受 CVE-2024-3094 影响?
该漏洞影响 XZ 库版本
5.6.0 和 5.6.1
,其中经过精心混淆的恶意代码仅存在于可下载包中。
特别值得注意的是,Git 发行版中缺少编译恶意代码所需的 M4 宏。但是,假设已添加恶意 M4 宏,则存在构建时注入所需的第二阶段工件。这会导致创建一个受损的版本,该版本是专门为通过系统进行 sshd 身份验证而设计的。