作者:Nikolaos Natsopoulos,IAM 顾问
配套研究报告的交互式浏览器工具:
"CVE-2024-3094:XZ Utils 中通过社会工程与构建系统操纵实现的供应链入侵"
2024 年 3 月,XZ Utils 中被发现了一个后门(CVE-2024-3094),当时它马上就要进入全球各地的稳定版 Linux 发行版。该漏洞获得了 10.0 的 CVSS 最高评分。这次攻击涉及一名虚构的贡献者,他花费近三年时间渗透进该项目,然后插入了本可使数百万台 Linux 服务器遭受未授权远程代码执行的代码。
该工具提供两项功能:
带有扩展 CVE 覆盖范围和额外漏洞评估功能的系统检查器升级版位于 /CVE-Vulnerability-Assessment-Tool 文件夹中。
下载 xz-toolkit_Visual_Checker.html 并在任意浏览器中打开。无需安装、无需服务器、无需互联网连接。所有内容都包含在单个文件中。
攻击可视化器选项卡 - 点击左侧面板中的任何阶段,逐步浏览攻击时间线。依赖链会更新,以精确显示攻击路径在每个阶段所处的位置。各阶段采用颜色编码:蓝色表示准备阶段,黄色表示警示信号,红色表示注入,绿色表示发现与响应。
系统检查器选项卡 - 在要评估的系统上运行以下三条命令:
xz --version
ldd /usr/sbin/sshd
systemctl is-active ssh
将输出粘贴到三个字段中,然后点击 Analyse System(分析系统)。该工具会评估利用所需的五项条件,并返回包含逐项条件明细的判定结果。点击 "Visualise this system's dependency chain"(可视化该系统的依赖链),即可在链图中看到您实际的库配置文件。
完全易受攻击 - 搭载 XZ 5.6.1 的 Debian Sid
XZ 版本:
xz (XZ Utils) 5.6.1
liblzma 5.6.1
sshd 依赖:
libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5
libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
SSH 状态:
active (running) since Fri 2024-03-29 11:42:01 UTC
预期结果:VULNERABLE(易受攻击)- 五项条件全部满足。
不易受攻击 - 搭载 XZ 5.4.6 的 Ubuntu LTS
XZ 版本:
xz (XZ Utils) 5.4.6
liblzma 5.4.6
sshd 依赖:
libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3
libpam.so.0 => /lib/x86_64-linux-gnu/libpam.so.0
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
SSH 状态:
active (running) since Thu 2024-03-28 09:15:33 UTC
预期结果:NOT VULNERABLE(不易受攻击)- XZ 版本安全,sshd 中不存在 liblzma 和 libsystemd。
不易受攻击 - 搭载 XZ 5.6.0 的 Arch Linux(受架构保护)
XZ 版本:
xz (XZ Utils) 5.6.0
liblzma 5.6.0
sshd 依赖:
libcrypto.so.3 => /usr/lib/libcrypto.so.3
libpam.so.0 => /usr/lib/libpam.so.0
libc.so.6 => /usr/lib/libc.so.6
SSH 状态:
active (running) since Sat 2024-03-30 08:22:11 UTC
预期结果:NOT VULNERABLE(不易受攻击)- XZ 5.6.0 是植入后门的版本,但该系统无法被利用,因为 Arch Linux 未将 sd_notify 补丁应用于 OpenSSH,这意味着 liblzma 永远不会被链接到 sshd 中。该漏洞具有架构特异性,而不仅仅是版本特异性。
系统要易受攻击,必须同时满足以下五项条件:
配套研究报告的一个关键发现是,这次攻击代表了身份与访问管理(IAM)从业者面临的一种新型威胁模型。该后门并非以传统方式窃取凭据或绕过访问控制——它直接替换了身份验证机制本身,在 PAM、RBAC、MFA 和零信任之下运作。任何传统 IAM 控制措施都无法阻止利用。
本可有所帮助的控制措施:多方发布审批、tarball 与 git 仓库的差异比对、运行时二进制完整性监控(IMA/dm-verity),以及 SSH 身份验证延迟的异常检测。
版权所有 (c) 2026 Nikolaos Natsopoulos。MIT 许可证。