该仓库包含一个 Bash 脚本和一条单行命令,用于验证系统是否运行着 CVE-2024-3094 所指的易受攻击版本的“xz”工具。
以下描述和影响声明来自 RedHat 提供的信息(https://access.redhat.com/security/cve/CVE-2024-3094):
“在从 5.6.0 版本开始的“xz”上游 tarball 中识别出恶意代码。该代码涉及一种复杂方法,其中 liblzma 的构建过程从源代码中一个伪装成测试文件的预构建对象文件提取数据。随后,该文件被用于修改 liblzma 代码中的特定函数,导致 liblzma 库被篡改。任何与此篡改后库链接的软件都可能会截取并篡改与该库的数据交互,从而使系统面临安全风险。
迄今的调查显示,受影响的包仅限于 Red Hat 社区生态系统中的 Fedora 41 和 Fedora Rawhide。所有 Red Hat Enterprise Linux (RHEL) 版本均不受此问题影响。
该漏洞源于 xz 5.6.0 和 5.6.1 版本中的恶意注入,具体存在于 tarball 下载包中。Git 分发版本不包含触发恶意代码构建的 M4 宏。然而,如果恶意 M4 宏存在,Git 仓库确实包含用于在构建时注入的第二阶段工件。若未集成到构建过程中,这些第二阶段文件是无害的。漏洞演示显示了对 OpenSSH 守护进程的干扰,该守护进程虽未直接链接到 liblzma 库,但与 systemd 的交互方式使其容易受到恶意软件影响,因为 systemd 与 liblzma 存在链接关系。”
“从 5.6.0 到 5.6.1 版本的 xz-utils 包被发现含有后门 (CVE-2024-3094)。该后门可能允许恶意行为者破坏 sshd 认证,从而远程获得对整个系统的未授权访问。
鉴于该库的广泛使用,此漏洞的严重性对整个 Linux 生态系统构成威胁。幸运的是,该问题被迅速发现,因此影响显著降低。它已在 Debian 中修补,因此 Kali Linux 也已修复。
此漏洞的影响在 3 月 26 日至 3 月 29 日期间波及了 Kali,当时 xz-utils 5.6.0-0.2 版本可用。如果您在 3 月 26 日当天或之后更新了 Kali 安装,但在 3 月 29 日之前,则今天必须应用最新更新以解决此问题。但是,如果您在 26 日之前没有更新 Kali 安装,则不会受此后门漏洞影响。”
以下 Bash 脚本和单行命令可用于检查您的系统是否受 CVE-2024-3094 影响:
command -v xz &>/dev/null && xz_version=$(xz --version | head -n 1 | awk '{print $4}') && { [[ $xz_version == "5.6.0" || $xz_version == "5.6.1" ]] && echo -e "\n[*] This system seems to be VULNERABLE to CVE-2024-3094 since it has a vulnerable version of xz\n\nLearn more about this CVE on this link:\nhttps://nvd.nist.gov/vuln/detail/CVE-2024-3094" || echo -e " \n[*] This system DOES NOT SEEM to be vulnerable to CVE-2024-3094."; } || echo "[-] xz package is not installed."
如何手动检查受影响的 Kali Linux 版本?
“apt-cache policy liblzma5”
kali@kali:~$ apt-cache policy liblzma5
liblzma5:
Installed: 5.4.5-0.3
Candidate: 5.6.1+really5.4.5-1
Version table:
5.6.1+really5.4.5-1 500
500 http://kali.download/kali kali-rolling/main amd64 Packages
*** 5.4.5-0.3 100
100 /var/lib/dpkg/status
如果我们在 Installed: 旁边看到版本 “5.6.0-0.2”,则必须升级到最新版本 “5.6.1+really5.4.5-1”。我们可以使用以下命令执行此操作:
解决 Kali Linux 中易受攻击包问题的命令:
“sudo apt update && sudo apt install -y --only-upgrade liblzma5”