所有Linux发行版被XZ压缩工具植入了后门: CVE-2024-3094


广泛使用的 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降级到未受影响的版本,以修复受影响系统上的此漏洞。