1. Backdoor in upstream xz/liblzma leading to SSH server compromise (www.openwall.com)
上游xz/liblzma后门漏洞总结
上游xz/liblzma项目被植入后门,导致使用受影响版本的系统面临SSH服务器被入侵的风险。
漏洞发现与背景
安全研究员Andres Freund在Debian sid系统中观察到异常现象:通过SSH登录时CPU占用率显著升高,且valgrind报告错误。经过调查,发现这是由上游xz仓库及其发布的tarball中被植入的恶意代码导致,而非仅Debian特定问题。
后门组成与注入方式
后门由两部分组成:
- 发布包后门:存在于xz 5.6.0和5.6.1版本的官方tarball中(而非Git仓库源码)。恶意代码被注入到
build-to-host.m4文件中,在构建过程的configure阶段执行。 - 仓库后门:以混淆形式存在于测试文件
bad-3-corrupt_lzma2.xz和good-large_compressed.lzma中。
攻击者通过修改构建过程,将恶意代码注入到生成的liblzma共享库(liblzma.so)中。
后门工作原理与影响
该后门主要针对OpenSSH服务器(sshd):
- 触发条件:当被感染的
liblzma被链接到支持systemd通知的OpenSSH服务端时生效。 - 技术机制:后门替换
liblzma中crc64的ifunc解析函数,并在运行时劫持sshd。它通过安装一个动态链接器审计钩子,在符号解析过程中等待并劫持RSA_public_decrypt@....plt函数,将其指向恶意代码。 - 最终效果:在SSH公钥认证过程中,恶意代码被调用,可能允许攻击者绕过认证,获得未授权访问或执行远程代码。
- 性能影响:感染后,SSH登录时间会明显变慢。
漏洞影响范围与条件
该后门具有严格的目标选择条件,仅在满足以下所有条件时激活:
- 系统架构:x86_64 Linux。
- 编译环境:使用GCC和GNU链接器。
- 构建上下文:正在作为Debian或RPM软件包的一部分进行构建(以规避调查复现)。
- 运行时环境:运行于glibc系统中,且
argv[0]为/usr/sbin/sshd,TERM、LD_DEBUG等特定环境变量需满足特定状态。
漏洞状态与应对
- CVE编号:CVE-2024-3094。
- 影响版本:xz 5.6.0 和 5.6.1。
- 当前状况:截至发现时,受影响版本尚未被Linux发行版广泛集成。
- 检测方法:可使用提供的检测脚本(
detect.sh)来判断系统中的sshd二进制文件是否可能存在风险。 - 应对建议:立即升级或回滚到已知安全的xz/liblzma版本。
该事件表明,一次精心策划的上游供应链攻击可以直接危及核心基础设施组件(如SSH)的安全。