Ubuntu 是否受到 xz 后门攻击的影响?

Ubuntu 是否受到 xz 后门攻击的影响?

主持人注:这个问题与当前迅速发展的事件有关。它已受到保护,以防止无关的玩笑或对帖子没有好处的回答。


2024 年 3 月,一个后门被发现在 libxz 5.6.0 和 5.6.1 中。

此漏洞是否影响 Ubuntu LTS 或任何其他 Ubuntu 版本?

答案1

作为社区委员会成员和 Ubuntu 开发人员,我联系了 Debian 和 Ubuntu 安全联系人。

Ubuntu 的 LTS 和当前稳定版本没有受此影响的 xz 版本,因此现有的 Ubuntu 版本不受影响。

受影响的 xz 版本仅在 noble-proposed 中,这仅影响正在开发中的版本。 Ubuntu 已发布的版本中的 xz 版本均不受影响。

正在开发中的版本 Noble 24.04 目前正在深入研究和检查是否会产生任何持久影响,Debian 和 Ubuntu 都将包装恢复为已知良好的旧 xz 版本,该版本不包含恶意行为者的修订。

Ubuntu 安全团队仍在跟踪此问题,但这对当前稳定版本没有影响(Noble 在发布本文时尚未发布,因此不被视为“稳定”版本。)

答案2

答:不是。

推理:


编辑:3 月 30 日,它被添加到Ubuntu CVE

回顾该页面的结果:

trusty  Not vulnerable
xenial  Not vulnerable
bionic  Not vulnerable
focal   Not vulnerable (5.2.4-1ubuntu1.1)
jammy   Not vulnerable (5.2.5-2ubuntu1)
mantic  Not vulnerable (5.4.1-0.2)
upstream    Needs triage 

我们目前的最高版本是 5.4.5

noble (libs): XZ-format compression library
5.4.5-0.3: amd64 arm64 armhf i386 ppc64el riscv64 s390x 

发布日期:2024/03/29 下午 12:30 PST

CVE 标识符:CVE-2024-3094

AWS 已意识到 CVE-2024-3094 会影响 xz-utils 软件包的 5.6.0 和 5.6.1 版本。此问题可能会通过在某些操作系统环境中使用 liblzma 来尝试在 openssh 中引入安全问题。Amazon Linux 客户不受此问题影响,无需采取任何措施。AWS 基础设施和服务不使用受影响的软件,因此不会受到影响。Bottlerocket 的用户不受影响。

建议使用其他操作系统的客户参考操作系统供应商提供的信息来解决由该报告问题引起的任何问题。

答案3

不。

如果您正在使用其他 Linux 版本或预发行版,或者要自行验证,请在命令行中发出:

xz --version
xz (XZ Utils) 5.2.5
liblzma 5.2.5

(这是 xUbuntu 22.04,昨天更新)。

据该网站称:https://gist.github.com/thesamesam/223949d5a074ebc3dce9ee78baad9e27

您需要安装 xz 或 liblzma 5.6.0 或 5.6.1 版本(xz-utils 提供库 liblzma)

…(受到后门的影响。)

因此您可以使用上述命令测试您的安装。

据 Canonical 称,只有测试版本(24.04)可能受到影响。

来源:https://discourse.ubuntu.com/t/xz-liblzma-security-update/43714

更新

有些人建议根本不要从命令行运行 xz。据我所知,他们认为,一个恶意制作的程序在由 systemd 运行时试图在 sshd 中打开后门,可能会产生额外的不良副作用,如果我们想到某些东西是为了破坏系统而制作的,那么这是一个合理的担忧。我不同意这些担忧,但让我们先把这个问题解决掉:

当然,用不同的方式检查 xz 的版本也是完全没问题的。@Quasimodo 推荐了,

  • strings -a $(which xz)(以不同的方式,不推荐用于不可信的文件)

这没问题。继续吧,如果你有丝毫的怀疑,xz 可能包含额外的攻击媒介。

我不。

我的理由是:A) 这不是病毒,病毒通过运行来传播自身。这是一个影响深远、制作精良的后门,隐藏在二进制测试文件中,应该由发行版本身传播,并且已经付出了很多努力来获得足够的信任。第二个攻击媒介会增加被检测到的机会,特别是在小而琐碎的代码段中,它会报告版本号,并且在 diff 中很容易理解。

B) 如果人们在生产环境中运行测试版本,那么他们已经处于高风险之中。你不应该这样做。如果他们已经运行了几天,而你仍然认为存在另一个问题,那么已经太晚了。好吧 - 可能有些管理员只是sshd偶尔启动,自从安装了更新的、提供后门的 liblzma 版本后就没有再启动过。而这些管理员中的一些人可能会听从 AU 的建议。很好。

C) 但 liblzma 不是无处不在吗,甚至在内核中?我听说是这样!无处不在是什么意思?这肯定是夸张了,不是吗?

我们去调查一下吧,不要相信谣言。

for f in /bin/* /sbin/*
do 
    ldd $f 2>/dev/null | grep -q liblzma.so && echo $f 
done | wc -l 

您期望的数字是多少?有多少个节目?

3、30、300?

我得到 614。

讽刺的是,有人建议,使用

  • apt-cache policy xz-utils

用于测试。不幸的是,apt-cache 也动态链接到 liblzma - 如前所述,我的系统上有超过 600 个文件。systemctl、journalctl、systemd 和 systemd 的一些变体也是如此,所以如果你真的认为有第二个攻击媒介,那就太晚了。

所以,我完全不相信发行债券xz --version会增加你的风险。因此,我不会撤回使用它的建议。

网上有人用过,报告了恶意程序的正确版本。没有其他观察结果报告。

答案4

要进行快速检查,请运行以下命令以获取机器信息的概览。主要关注必须小于或等于的xz和库的版本。liblzma5.5.*

uname -a

lsb_release -a

ldd --version

apt list --installed | grep liblzma

sudo lsof -p $(ps -aux | grep '[s]shd.*listener' | awk '{print $2}') | grep 'liblzma\.so'

最后一个命令将显示是否有 SSH 服务器正在加载该liblzma库,您可以在其中确认哪个版本已加载到内存中。

在 Ubuntu Server 系统上查看上述命令的输出:


$ uname -a
Linux ts132.saphetor.com 5.15.0-101-generic #111-Ubuntu SMP Tue Mar 5 20:16:58 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.1 LTS
Release:    22.04
Codename:   jammy

$ ldd --version
ldd (Ubuntu GLIBC 2.35-0ubuntu3.6) 2.35
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

$ apt list --installed 2>/dev/null| grep liblzma
liblzma-dev/jammy,now 5.2.5-2ubuntu1 amd64 [installed]
liblzma5/jammy,now 5.2.5-2ubuntu1 amd64 [installed]

$ sudo lsof -p $(ps -aux | grep '[s]shd.*listener' | awk '{print $2}') | grep 'liblzma\.so'
sshd    1595 root  mem    REG              252,2   170456  632762 /usr/lib/x86_64-linux-gnu/liblzma.so.5.2.5

相关内容