背景

XZ-Utils是Linux、Unix等POSIX兼容系统中广泛用于处理.xz文件的套件,包含liblzma、xz等组件,已集成在debian、ubuntu、centos等发行版仓库中。2024年3月29日,安全社区披露其存在 CVE-2024-3094 XZ-Utils 5.6.0-5.6.1版本后门风险。该后门存在于XZ Utils的5.6.0和5.6.1版本中,由于SSH底层依赖了liblzma等,攻击者可能利用这一漏洞在受影响的系统上绕过SSH的认证获得未授权访问权限,执行任意代码。

此次后门主要由于“供应链”方式攻击,且“效果比较震撼”,Openssh、systemd之类的主流发行版几乎必备的软件都受到影响,因此许多懂的、不懂技术的都在传播这个信息,为了解答群友的困惑,特作此文。


分析

一句话:影响巨大,又好像没什么后果,散了吧。应该没有人会将每日滚动更新的镜像、软件源投入生产场景。

对于使用基本的“stable”状态的主流Linux发行版操作系统的设备来说,此漏洞没有任何影响。具体参见各发行版CVE,比如主流的RedHat、debian以及衍生的一些用户量比较大的类似CentOS、Alma Linux、Rocky Linux、Ubuntu,及一些云厂商在此基础上“开源”的一些“不完全开源”的操作系统(某些国内厂商口口声声说开源,笔者用爱发电搬运了不少软件,结果好多东西编译不出来的是吧,完全两码事的)。对于普通的x86服务器运行这些系统的用户,基本上可以无视了。

对于使用滚动更新或者类似的发行版或者手搓Linux内核、文件系统的玩家来说,有极高的概率中招。例如Fedora,或者部分debian sid。常见于各种“国产arm开发板”适配的一些基于debian的发行版,我随机检查了几个“社区支持”性质的每日镜像、apt安装源,均发现包含问题的版本,此类镜像在玩客云、树莓派以及国内各种香橙派以及各种矿渣刷机镜像部署较为常见。因此,笔者infrado开荒运维建议:使用各种非x86架构,并且更新频繁的unstable镜像的设备,务必检查是否受到此次攻击影响。也或者可以放任不管,“没价值”是吧,就像许多单位仍然以Windows XP用于处理非常关键性的办公。

笔者自编译维护移植的全部CentOS7arm、debian buster arm镜像均没有被影响,群友们可以放心。开车的Chia-RK3399 M.2版和玩客云/迅雷赚钱宝都没有影响。“不那么实时追新的版本控”巧妙的躲过了那么多漏洞,这算不善是又给了拖延症一个理由。

但是,我说下但是嘛。其实只有x86_64的被植入了后门,各种arm的、mips的场景散了吧,没影响。主要受到影响的应该是那帮各种折腾桌面、玩滚动更新的玩家们。不过一般这类设备也不投入生产应用,不会有什么太多的影响。如果是生产力桌面,应该也不会有人这么玩吧?毕竟急需电脑操作一下服务器的时候,比如桌面挂了甚至系统炸了直接就启动不了谁能接受,多少人连Windows Update在更新过程中影响系统性能都受不了更别提需要重启了。


判断方法

查询系统安装的xz版本,基本上就可以判断是否受到影响。虽然xz程序对于普通用户来说不常用,但是可能有一些用p7zip的,以及完全正常运行中的systemd、openssh-server肯定是有影响的,软件源的编译、发布一般都是同时进行的,每日自动构建的安装源包含的软件,如果依赖xz相关的程序自然同时将后门编译在软件了。

xz -V

查看返回的版本不是5.6.0/5.6.1即可确认是安全的。

从github找一玩客云OneCloud的armbian sid镜像,其实除了个人作者,一般玩客云这种“没交钱”的设备armbian在各发行版的维护支持列表也都是最小的社区支持。

刷好镜像,然后apt update && apt upgrade,然后检查版本,果然发现了这个。另外有的镜像还是每日自动构建的,里面的软件都是最新提交的最热乎的。虽然这类镜像可能包含这些版本,但是不受影响。