根据 Ubuntu 的CVE-2022-0778,此版本应该解决 CVE。然而,当我查看 OpenSSL 版本时,我无法真正看出它是 1.1.1n。我确实看到它是在 3 月 9 日之前构建的:
那么,我怎么知道这真的是 1.1.1n 呢?
OpenSSL 1.1.1 11 Sep 2018
built on: Wed Mar 9 12:13:40 2022 UTC
platform: debian-amd64
options: bn(64,64) rc4(16x,int) des(int) blowfish(ptr)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,
--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-vxXVMf/openssl-1.1.1=.
-fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_USE_NODELETE
-DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2
-DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM
-DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM
-DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM
-DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM
-DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
OPENSSLDIR: "/usr/lib/ssl"
ENGINESDIR: "/usr/lib/x86_64-linux-gnu/engines-1.1"
Seeding source: os-specific
Run Code Online (Sandbox Code Playgroud)
Ubuntu 仓库:https://git.launchpad.net/ubuntu/+source/openssl
标签:
* 3b83ed56dea2b735e31731fd042b52ff869f9a97 -
(tag: import/1.1.1n-1, origin/debian/sid) 1.1.1n-1
(patches unapplied) (c: Wed, 16 Mar 2022 04:33:58 +0000)
(a: Tue, 15 Mar 2022 19:46:18 +0100) <Sebastian Andrzej Siewior>%
applied/1.1.1n-1
* d4d5eeef3576b16013c48abc435c5da889cedf1b - (tag: applied/1.1.1n-1,
origin/applied/debian/sid) 1.1.1n-1 (patches applied)
(c: Wed, 16 Mar 2022 04:33:58 +0000)
(a: Tue, 15 Mar 2022 19:46:18 +0100) <Sebastian Andrzej Si
Run Code Online (Sandbox Code Playgroud)
一旦安全更新处于已发布状态,最简单的事情就是应用更新, apt update && apt upgrade
考虑实施某种补丁管理报告,以确认所有主机均已更新且合规。这些范围从简单的脚本到您可能购买的产品。
那么,我怎么知道这真的是 1.1.1n 呢?
Ubuntu 对 CVE-2022-0778 的修复不是 1.1.1n。与其他稳定发行版一样,他们习惯于仅向后移植其所选版本的特定修复。再次阅读该表,请注意,bionicopenssl 1.1.1-1ubuntu2.1~18.04.15 末尾附加的看起来很有趣的版本字符串很重要,它指示哪个版本。
于 3 月 9 日在 openssl 向公众开放源代码之前构建
构建和测试软件需要时间。与其他发行版一样,Ubuntu 也在一般公告之前获得通知的列表中。减少用户遇到缺陷的时间。
构建日期是一个很好的健全性检查,可以确保您具有所需的补丁级别,但要意识到可以在上游公告之前构建,而不需要时间机器。
Ubuntu 发行版管理员将 openssl 1.1.1n 导入到他们的存储库中(这可能只是一个面向公众的存储库)
请注意对版本控制中的内容实际用于修复您的版本做出结论。根据分支名称,这可能与 Ubuntu 相比 Debian sid 或上游版本有关。不是仿生的。
请参阅安全公告。
那么,我怎么知道这真的是 1.1.1n 呢?
它不会是 1.1.1n,因为正如 John Mahowald 所说,Ubuntu 会将修复程序向后移植到其支持的 18.04 版本中,从链接表中可以看出,该版本是 1.1.1-1ubuntu2.1~18.04.15。
您可以使用以下命令了解系统上安装了哪些 openssl 软件包
apt list --installed | grep openssl
Run Code Online (Sandbox Code Playgroud)
您可以检查更改日志以查看已应用/向后移植哪些更新
apt-get changelog openssl
Run Code Online (Sandbox Code Playgroud)
甚至查看 Ubuntu变更日志服务器。
更改日志确认 openssl 1.1.1-1ubuntu2.1~18.04.15 已应用 CVE-2022-0778 补丁。