广泛使用的 xz 数据压缩工具和 liblzma 库的最新版本中发现了严重的安全漏洞: CVE-2024-3094,似乎源于不良行为者故意将恶意代码插入上游 xz 工具套件存储库中。
xz压缩工具套件提供无损数据压缩功能,在 Linux 发行版和 macOS 系统中非常流行,用于压缩软件包、发布 tarball、内核映像等。这种普遍性使得该后门的影响尤为严重。
受影响的版本是 xz 压缩工具的 xz 5.6.0 和 5.6.1 以及它们链接的 liblzma 核心压缩库。这些版本在源发布 tarball 中包含混淆的恶意代码,而公共 Git 存储库中不存在这些代码。
这个后门代码旨在在使用受感染的 xz 库构建时干扰 Linux 系统上 OpenSSH 服务器 (sshd) 中的身份验证。
后门工作方式
后门利用复杂的技术躲避检测,只有在非常特殊的情况下才会触发。主要包括
- xz-utils 发布的官方上游发布压缩包包含公共 Git 代码库中没有的恶意混淆代码
- Git 代码库中精心制作的测试文件充当恶意构建脚本部署的有效载荷
- 该后门劫持了 glibc 中的 IFUNC 机制,以对 OpenSSH 的 RSA 公钥解密等身份验证例程执行运行时挂钩。
- 它会根据构建工具链、操作系统分布甚至运行中可执行文件的进程名称(/usr/sbin/sshd)有选择性地激活
- 在基于漏洞 glibc 的 Linux 系统上成功触发后,后门就能绕过身份验证流,并有可能启用完全的远程代码执行功能。
影响和风险因素
根据操作系统供应商的建议,迄今为止已知受影响的主要Linux发行版有:
- Fedora Linux 40 和 Fedora Rawhide(Fedora 开发分支)
- Debian 不稳定 (Sid) [确认]
- Kali Linux [受影响] [确认]
- Amazon Linux (AWS) [不受影响] [确认]
- OpenSUSE [不受影响] [确认]
- Arch Linux [帖子]
Fedora 已发布恢复到安全 xz 5.4.x 版本的更新。红帽还 紧急警告 用户立即停止使用任何 Fedora Rawhide 实例,直至修补完毕,因为这构成了即将发布的 Fedora 41 版本的基础。
虽然目前没有任何 Red Hat Enterprise Linux 版本似乎受到影响,但该后门也可能存在于打包受感染 xz 5.6.0/5.6.1 版本的其他 Linux 发行版中。用户应咨询其操作系统供应商以获取更新和指导。
发现后门的原始邮件:
在过去几周里,发现 Debianid 安装的 liblzma(xz 软件包的一部分)出现了一些奇怪的症状(用 ssh 登录需要花费大量时间)。
我找到了答案:
- 上游 xz 软件仓库和 xz 压缩包都被做了植入后门。
起初我以为是 debian 的软件包出了问题,但事实证明是上游的问题。
解决办法:
所有Linux发行版供应商和用户应立即安装更新的XZ软件包或将XZ Utils降级到未受影响的版本,以修复受影响系统上的此漏洞。