今天,cron-apt 通知我,我的 Debian 稳定系统上有待处理的安全更新:
CRON-APT RUN [/etc/cron-apt/config]: Tue Jan 25 04:00:01 CET 2022
CRON-APT SLEEP: 3076, Tue Jan 25 04:51:17 CET 2022
CRON-APT ACTION: 3-download
CRON-APT LINE: /usr/bin/apt-get -o quiet=1 dist-upgrade -d -y -o APT::Get::Show-Upgraded=true
Reading package lists...
Building dependency tree...
Reading state information...
Calculating upgrade...
The following package was automatically installed and is no longer required:
linux-image-5.10.0-9-amd64
Use 'apt autoremove' to remove it.
The following packages will be upgraded:
bsdextrautils bsdutils eject libblkid1 libmount1 libsmartcols1 libuuid1
mount util-linux util-linux-locales
10 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 3561 kB of archives.
After this operation, 16.4 kB of additional disk space will be used.
Get:1 http://security.debian.org bullseye-security/main amd64 bsdutils amd64 1:2.36.1-8+deb11u1 [148 kB]
Get:2 http://security.debian.org bullseye-security/main amd64 util-linux amd64 2.36.1-8+deb11u1 [1141 kB]
Get:3 http://security.debian.org bullseye-security/main amd64 mount amd64 2.36.1-8+deb11u1 [186 kB]
Get:4 http://security.debian.org bullseye-security/main amd64 bsdextrautils amd64 2.36.1-8+deb11u1 [145 kB]
Get:5 http://security.debian.org bullseye-security/main amd64 libblkid1 amd64 2.36.1-8+deb11u1 [193 kB]
Get:6 http://security.debian.org bullseye-security/main amd64 libmount1 amd64 2.36.1-8+deb11u1 [212 kB]
Get:7 http://security.debian.org bullseye-security/main amd64 libsmartcols1 amd64 2.36.1-8+deb11u1 [158 kB]
Get:8 http://security.debian.org bullseye-security/main amd64 libuuid1 amd64 2.36.1-8+deb11u1 [83.9 kB]
Get:9 http://security.debian.org bullseye-security/main amd64 eject amd64 2.36.1-8+deb11u1 [102 kB]
Get:10 http://security.debian.org bullseye-security/main amd64 util-linux-locales all 2.36.1-8+deb11u1 [1192 kB]
Fetched 3561 kB in 0s (47.6 MB/s)
Download complete and in download only mode
然而,看着https://www.debian.org/security/,我没有找到匹配的公告:
最近的建议
这些网页包含发布到 debian-security-announce 列表中的安全公告的精简存档。
[2022 年 1 月 21 日] DSA-5052-1 usbview 安全更新
[2022 年 1 月 20 日] DSA-5051-1 aide 安全更新
[2022 年 1 月 20 日] DSA-5050-1 linux 安全更新
[2022 年 1 月 15 日] DSA-5048-1 libreswan安全更新
...
因此,要么(1)公告被延迟,要么(2)出现可疑情况。 (我知道(1)的概率比(2)高得多,但仍然......)
我该如何验证这确实是真正的良性安全更新?我尝试查看更新包之一的包信息页面(https://packages.debian.org/bullseye/bsdutils),但右侧的“Debian Changelog”链接显示,最后一次修改已经是半年前了。
笔记:
- 虽然我对这个特殊案例的答案感兴趣,但我更感兴趣的是一般的回答在这种情况下如何进行(参见上面的粗体问题)。
- 如果您认为这个问题更适合security.se,请随意迁移。
答案1
假设您仍然信任基础架构,您可以通过请求系统上的更改日志来找出更改的内容;例如
$ apt changelog util-linux/bullseye-security
util-linux (2.36.1-8+deb11u1) bullseye-security; urgency=high
* Non-maintainer upload by the Security Team.
* include/strutils: Add ul_strtou64() function
* libmount: fix UID check for FUSE umount [CVE-2021-3995]
* libmount: fix (deleted) suffix issue [CVE-2021-3996]
-- Salvatore Bonaccorso <[email protected]> Thu, 20 Jan 2022 21:10:35 +0100
...
(这会从存储库查询更改日志,不需要您应用升级。)
在您的情况下,所有更新的包都来自util-linux
源包,因此它们都将显示相同的更改日志。虽然修复只涉及libmount
,但上传固定源包意味着重建它生成的所有二进制包,并将它们全部作为安全更新发布。
此信息也可在包裹追踪器,其中提供了指向变更日志和安全追踪器(还有许多其他)。当问题被写入时,安全跟踪器已关闭,这可能可以解释为什么其他一些页面没有按您的预期更新;DSA 于 1 月 24 日发出。
如果您想检查发生了什么变化,可以下载原始和更新的源代码:
$ apt source util-linux/{stable,bullseye-security}
并比较下载的 tarball - 在大多数情况下,只有.debian
tarball,util-linux_2.36.1-8.debian.tar.xz
在util-linux_2.36.1-8+deb11u1.debian.tar.xz
这种情况下:
$ mkdir ulo uls; tar xf util-linux_2.36.1-8.debian.tar.xz -C ulo; tar xf util-linux_2.36.1-8+deb11u1.debian.tar.xz -C uls
$ diff -urN ulo uls | less
答案2
Debian 主页上的“Recent Advisories”列表已过时,请检查邮件列表档案(https://lists.debian.org/debian-security-announce/) 反而。
在那里,你会发现util-linux 的建议昨天已发送。正如评论中提到的,该错误涉及libmount
,这解释了其他包更新。