w568w
1
太长不看:立刻检查所有 Linux 机器和容器的 xz 版本,并升级到最新!
检查 xz 版本时请视 xz 为病毒,切勿直接执行 xz --version
!你可以从包管理器间接得知 xz 的版本。
情况
xz 是一种在Linux上使用高压缩率的工具,它使用 LZMA2 算法进行文件压缩和解压缩,目前广泛使用。
xz 上游发布的 5.6.0
和 5.6.1
版本的代码包(tarball)中含有添加后门的恶意代码,允许远程代码执行:
https://www.openwall.com/lists/oss-security/2024/03/29/4
影响版本
所有安装了 xz 5.6.0 - 5.6.1 的用户。5.6.0 大约是一个月以前发布的。
根据源代码,攻击似乎限定于 Debian 系发行版,如 Ubuntu 等。其他发行版用户似乎不受影响。
另外,Debian 和其他几个发行版对 openssh 软件包打了补丁,引入了 systemd 通知支持,而 libsystemd 确实依赖于 lzma。所以你的 openssh 也可能是带毒的。可以通过如下命令确定:
ldd "$(command -v sshd)"
应对措施
立刻升级到发行版提供的修复版本,在此之前请勿运行 xz。
对 Arch 而言修复版是 5.6.1-2
,其他发行版请自查。
出于安全考虑,即便升级后也尽量不要使用 xz,直到开源社区彻查代码问题。你可以使用 zstd 等工具来压缩文件。
回声
XZ 仓库于今早已被 GitHub 封禁。投毒者身份依然不明,但其显示的时区和昵称似乎表示其为港台或新马地区人。不过,这些都可以是伪造信息。
编辑:一些证据表明,该投毒者可能早有预谋,已经看似「勤勤恳恳」给 xz 编写了 3 年代码。因此,过去 3 年的所有 xz 版本都不太可信:
2 个赞
w568w
4
问题不在于其他压缩软件香不香,而是供应链问题:比如 debian 魔改的 ssh 直接依赖 xz,所以有可能也会中招。这玩意儿中招的危害可就大了。
另外,lzma、zstd 等现代压缩算法的性能、压缩率、使用广泛度都已经爆锤 zip 几条街了,不能指望大家还守着到现在都不支持很多现代功能的 zip 算法和格式吧。依赖攻击防不胜防啊。
2 个赞
现在主流的压缩格式是什么?
我第一还是RAR,第二是7Z。
.xz
这类压缩包格式一般不是大家日常使用的,它可能是开发者打包源代码,或进行数据传输时使用的。
如果从应用广泛性的角度考虑,.zip
可能仍排在第一位。
1 个赞
我看到有个大神自己写了个 zip 压缩算法,说自己这个压缩率可以比得上 7-zip,还在此基础之上写了一个压缩工具和一个 PNG 优化工具。
http://www.advsys.net/ken/utils.htm
xz 是在 7z 格式的基础上开发的另一种格式,但是针对 Unix 系列的文件管理方式做了特别的优化
因为+8时区,已经都有人直呼对华裔的侮辱性称呼了……
w568w
13
从另一个角度来思考:黑客防范意识比一般人强很多。如果我是攻击者,我肯定不会在 GitHub 实名上网、填自己真实时区。 因此,攻击者多半不是华裔,并且深谙东西方意识形态矛盾。
dubc
16
可以使用命令检查:
apt list --installed 2>&1 | grep xz | grep -E '5.6.0|5.6.1' && echo "!!! Check your system now" || echo "Everything is ok"
foyax
18
w568w
20
可能是早有预谋。蓝点网的报道其实说得很清楚了:
孤独的开源贡献者问题:
在这里还需要额外讨论一个开源项目的问题,xz-utils 尽管被全世界的 Linux 发行版、压缩软件广泛使用,但在之前只有一名活跃的贡献者在维护这个项目。
这个孤独的贡献者可能因为精力不够或者其他原因,在遇到一名新的贡献者时,随着时间的推移,在获取信任后,这名新贡献者逐渐获得了项目的更多控制权。
实际上这名黑客应该也是精心挑选的项目,知道这种情况下可能更容易获取控制权,于是从 2022 年开始就贡献代码,直到成为主要贡献者后,再实施自己的后门行动。
未来这类针对开源项目的供应链攻击应该还会显著增加,这对整个开源社区来说应该都是头疼的问题。
总之这样的项目只需要满足两点:
- 这个项目非常基础,被许多核心项目(例如 ssh)依赖;
- 没有人关注这个项目,维护者很少并且没有得到过任何收入,积极性很低。
只要有一些开发经验,就可以轻易取得这样的项目的控制权,继而随意投毒。
我觉得开源安全问题的解决从来只有一条路:投钱、投人力。对 xz 来说,几乎是心安理得地被安装在全世界 99.9% 的企业系统上了,居然 4 年以来只有一名维护者,并且没有从这些企业身上赚到过一分钱。
还有很多开源项目都是这样,想想这些项目的安全性,细思极恐啊。