最近有消息说 XZ Utils 包中发现后门 允许攻击者 拦截并修改处理后的数据 通过与 liblzma 库关联的应用程序。主要漏洞(已编目为 CVE-2024-3094) 它位于 OpenSSH 服务器上, 在某些发行版中,它使用 libsystemd 库,而该库又依赖于 liblzma。通过将 sshd 与存在漏洞的 liblzma 版本链接起来,攻击者无需身份验证即可访问 SSH 服务器。
发现 来自 XZ Utils 项目的后门 检测到CPU消耗过高等问题后发生 以及通过 SSH 连接到基于 Debian sid 的系统时 valgrind 生成的错误。这些问题导致了更深入的调查,揭示了后门的存在。
被指控的 后门作者 Jia Tan 是 xz 项目上一位活跃且受人尊敬的开发者, 多年来一直担任“共同维护者”身份,并对多个版本的开发做出了重大贡献。除了 xz 项目之外,他还为 xz-java 和 xz-embedded 等其他相关包做出了贡献。它甚至最近被纳入 Linux 内核中使用的 XZ Embedded 项目的维护者之中。
这一恶意更改是在收到有关 xz 5.6.0 版本问题的投诉后发现的,其中包括后门,例如速度减慢和 sshd 崩溃。下一个版本 xz 5.6.1 包含了 Jia Tan 针对这些投诉而准备的更改,这可能是掩盖后门存在的一种方法。
此外,提到了 贾坦做了不兼容的改变 去年使用“-fsanitize=address”检查模式,我导致当时模糊测试被禁用。这些细节表明,后门的引入是项目开发过程中有计划的隐藏行为,这可能会损害未知数量的使用 XZ Utils 的用户和项目。
虽然这个 漏洞影响基于Linux内核和Glibc C库的x86_64系统 其中包括 sshd 和 libsystemd 以支持 sd_notify 机制, 有几个因素减轻了影响。 例如,带有后门的liblzma版本并未包含在大型发行版的稳定版本中,而Arch Linux和Gentoo等发行版使用了易受攻击的xz版本,但由于某些配置而不易受到攻击。
提到后门的激活隐藏在build-tohost.m4文件中的m4宏中 在编译期间使用,允许将恶意代码插入到 liblzma 库中。该恶意代码修改了库中某些函数的操作逻辑,从而有助于对受影响系统上的 SSH 服务器进行未经授权的访问。
XZ Utils包中后门的实现流程 它涉及几个步骤和技术来隐藏其存在和激活。 编译期间在 build-to-host.m4 文件中使用 m4 宏将恶意代码引入 liblzma 库。这些宏存在于发布 tar 文件中,但不存在于 Git 存储库中,并被添加到 .gitignore 中。此外,存储库中还包含恶意测试文件,表明对版本生成过程有特权访问。
通过执行命令 /usr/sbin/sshd 激活后门 并且隐藏在未调试或生产环境中,避免在正常终端上被检测到。伪造 RSA_public_decrypt 函数是为了绕过 sshd 身份验证过程,从而允许攻击者获得对 SSH 服务器的未经授权的访问。
为了进一步隐藏后门的存在,包括了防止检测的保护机制,并在调试环境中验证了执行情况。所有这些都表明,负责后门的人员具有先进水平的规划和技术知识,可以逃避检测并对受影响的系统进行成功的攻击。
如果您有兴趣了解更多,可以查阅详情 在下面的链接中。