文档中心>云服务器>动态与公告>公告>关于 XZ-Utils 漏洞风险(CVE-2024-3094)的检测与修复

关于 XZ-Utils 漏洞风险(CVE-2024-3094)的检测与修复

最近更新时间:2024-04-03 15:29:31

我的收藏
注意:
若您是 XZ 压缩工具的用户,或者您的服务器安装了 XZ 压缩工具,建议您根据本文指引排查安全漏洞风险。

漏洞概述

XZ-Utils 包含 liblzma、xz 等组件,是 Linux、Unix 等 POSIX 兼容系统中广泛用于处理 .xz 文件的套件。该套件在 ubuntu、debian、centos 等发行版仓库中均有集成。2024年3月30日,安全社区披露其存在恶意后门风险,且被分配了漏洞编号(CVE-2024-3094)。该后门存在于 XZ Utils 的5.6.0和5.6.1版本中。由于SSH 底层依赖了 liblzma 等库,攻击者可能利用这一漏洞在受影响的系统上绕过 SSH 的认证获得未授权的访问权限,从而执行任意代码。
说明:
目前,企业使用的主流 Linux 发行版(Red Hat/CentOS/Debian/Ubuntu)的 Stable 稳定版仓库中尚未合并该存在后门的软件版本。

受影响系统说明

使用了受影响版本 xz 的操作系统或软件如 openSUSE、Fedora 41、Liblzma、Debian 非稳定的测试版 5.5.1alpha-0.1 到 5.6.1-1,具体影响操作系统如下:
发行版
影响说明
Red Hat
Fedora 41 和 Fedora Rawhide 中存在易受攻击的软件包。 Red Hat Enterprise Linux (RHEL) 的所有版本均不受影响
openSUSE
openSUSE Tumbleweed 和 openSUSE MicroOS 在3月7日至3月28日期间包含了受影响的 xz 版本
Debian Linux
发行版的稳定版本不会受到影响,但测试版、不稳定版和实验版中都包含受感染的软件包
Kali Linux
如果系统在3月26 日至3月29日之间进行过更新,则用户应再次更新以获得修复
Ubuntu
Ubuntu 的所有发行版本均未受到此问题的影响
Arch Linux
安装版本是2024.03.01或者虚拟机镜像是20240301.218094和20240315.221711的包含此后门
说明:
腾讯云云服务器公共镜像未安装 xz 漏洞版本;您可以根据需要,通过本文的指引方法检测 xz 漏洞风险。

通过腾讯云自动化助手(TAT)快速进行漏洞检测或修复

说明:
需要您的云服务器实例已安装自动化助手(TAT)客户端,若暂未安装,可以参见安装自动化助手客户端
1. 登录云服务器控制台,选择左侧导航栏中的自动化助手,在公共命令库中找到 CVE-2024-3094 漏洞检测与修复,并单击左下角执行命令。

2. 进入执行命令配置页面,建议将命令参数-参数值设置为 yes,并且超时时间配置到240秒以上,自动化助手检测到漏洞版本后,将自动重新安装 xz 稳定版本(5.4.6);若命令参数-参数值设置为 no,自动化助手会检测 xz 是否存在问题,但不会自动修复。

之后,勾选需要进行漏洞检测的实例(支持批量),单击执行命令即可。

3. 在执行记录中查看执行结果。
3.1 若返回current xz-utils version is 5.2.2, no need to upgrade or downgrade.则表示该实例没有检测到 xz 风险版本。
3.2 若返回如下图所示的执行结果,则表示检测到 XZ Utils 的5.6.1漏洞版本,自动化助手已为您删除漏洞版本并重新安装5.4.6的稳定版本。


其他检测方法

方法1:主机安全扫描

使用主机安全专业版的用户,可通过漏洞扫描功能对云服务器进行检测。

方法2:排查 xz 漏洞版本

通过命令行输入 xz --version 检查 xz 版本,如果输出为 5.6.0 或 5.6.1 ,说明系统可能受后门风险影响。
说明:
xz 5.6.0 和 5.6.1 版本尚未被集成至 Linux 发行版中,目前主要存在于预发布版本中。
如果查出版本在受影响范围内,可利用如下自查脚本排查是否存在后门:
#! /bin/bash

set -eu

# find path to liblzma used by sshd
path="$(ldd $(which sshd) | grep liblzma | grep -o '/[^ ]*')"

# does it even exist?
if [ "$path" == "" ]
then
echo probably not vulnerable
exit
fi

# check for function signature
if hexdump -ve '1/1 "%.2x"' "$path" | grep -q f30f1efa554889f54c89ce5389fb81e7000000804883ec28488954241848894c2410
then
echo probably vulnerable
else
echo probably not vulnerable
fi

漏洞官方修复建议

目前 GitHub 已关停整个 xz 项目,官方尚无最新版本,需对软件版本进行降级5.4.X,请关注官方新版本发布并及时更新。
Fedora Linux 40 用户需 xz 回退到 5.4.x 版本可参见: