AlmaLinux・Rocky Linux・RHEL 8.10のopensslは同じ?6台で比べたらリリース番号に差が出た

執筆者:

カテゴリ:

結論から書きます。AlmaLinux 8.10・Rocky Linux 8.10・RHEL 8.10の3台で openssl version を実行すると、どれも「OpenSSL 1.1.1k FIPS 25 Mar 2021」と表示され、見分けがつきません。ところが rpm -q openssl でリリース番号まで見ると、Rocky Linux 8.10だけが 1.1.1k-16.el8_10、AlmaLinuxとRHELは 1.1.1k-12.el8_9 でした。-12と-16の間には、CVE-2024-5535やCVE-2025-9230など複数のセキュリティ修正が入っています。

差の原因はディストリの違いではなく、インストール時に更新済みリポジトリを使ったかどうかでした。この記事では、検証の手順と実際の出力、原因の根拠、各ディストリでの確認方法をまとめます。

検証環境

自宅のKVM(libvirt)上に、kickstartで6台のVMを用意しました。検証日は2026年11月1日です。

ホスト名 OS カーネル
alma810 AlmaLinux 8.10 (Cerulean Leopard) 4.18.0-553.el8_10
rocky810 Rocky Linux 8.10 (Green Obsidian) 4.18.0-553.134.1.el8_10
rhel810 Red Hat Enterprise Linux 8.10 (Ootpa) 4.18.0-553.el8_10
alma98 AlmaLinux 9.8 (Olive Jaguar) 5.14.0-687.5.3.el9_8
rocky98 Rocky Linux 9.8 (Blue Onyx) 5.14.0-687.10.1.el9_8.0.1
rhel98 Red Hat Enterprise Linux 9.8 (Plow) 5.14.0-687.5.3.el9_8

同じコマンドを6台に流してログを残すために、labrun(全台にSSHで実行してホストごとにログ保存)と labdiff(ログ同士の差分表示)という小さな自作スクリプトを使っています。中身はssh・diffのラッパーなので、手作業でも同じ検証ができます。

手順1:バージョンを比べる

まず、パッケージ名と openssl version を全台で取得しました。

$ rpm -q openssl; openssl version

8.10の3台の結果です。

=== host: alma810 (192.168.122.111)
openssl-1.1.1k-12.el8_9.x86_64
OpenSSL 1.1.1k  FIPS 25 Mar 2021

=== host: rocky810 (192.168.122.174)
openssl-1.1.1k-16.el8_10.x86_64
OpenSSL 1.1.1k  FIPS 25 Mar 2021

=== host: rhel810 (192.168.122.129)
openssl-1.1.1k-12.el8_9.x86_64
OpenSSL 1.1.1k  FIPS 25 Mar 2021

9.8の3台は、すべて同じでした。

openssl-3.5.5-2.el9_8.x86_64
OpenSSL 3.5.5 27 Jan 2026 (Library: OpenSSL 3.5.5 27 Jan 2026)

結果一覧

ホスト rpm -q openssl openssl version
alma810 1.1.1k-12.el8_9 1.1.1k FIPS 25 Mar 2021
rocky810 1.1.1k-16.el8_10 1.1.1k FIPS 25 Mar 2021
rhel810 1.1.1k-12.el8_9 1.1.1k FIPS 25 Mar 2021
alma98 3.5.5-2.el9_8 3.5.5 27 Jan 2026
rocky98 3.5.5-2.el9_8 3.5.5 27 Jan 2026
rhel98 3.5.5-2.el9_8 3.5.5 27 Jan 2026

openssl version の表示は8.10の3台で完全に同じです。違いはrpmのリリース番号(-12と-16)にしか現れません。

手順2:なぜ差が出たのかを調べる

ビルド日時とインストール日時を確認しました。

$ rpm -q --qf "%{NAME}-%{VERSION}-%{RELEASE} build=%{BUILDTIME:date} install=%{INSTALLTIME:date}\n" openssl openssl-libs
[alma810]
openssl-1.1.1k-12.el8_9 build=2023年12月18日 18時02分10秒 install=2026年10月31日 02時30分31秒
[rocky810]
openssl-1.1.1k-16.el8_10 build=2026年06月17日 00時38分37秒 install=2026年10月31日 03時54分18秒
[rhel810]
openssl-1.1.1k-12.el8_9 build=2023年11月30日 22時10分21秒 install=2026年10月31日 05時28分01秒

3台とも10月31日にOSをインストールしたときに入ったものです。dnfでの更新履歴も確認しましたが、どのホストも0件でした。

$ sudo grep -c Upgraded /var/log/dnf.rpm.log
0

つまり、インストール後に誰も更新していないのに、rocky810だけ2026年6月ビルドのパッケージが入っています。カーネルもrocky810だけ 4.18.0-553.134.1 と新しく、ほかの2台は8.10のリリース時点の 4.18.0-553 のままです。

ここから、alma810とrhel810は8.10のインストールメディア(ISO)に収録されたパッケージでインストールされ、rocky810はインストール時点で最新のリポジトリからパッケージを取得した、と判断できます。8.10のISOに入っているopensslは8.9時代にビルドされた-12のままなので、「8.10を入れたのにel8_9」という状態になります。

-12から-16の間に何が直ったか

rocky810で rpm -q --changelog openssl を見ると、-12以降に次の修正が入っています。

* 月  6月 01 2026 Dmitry Belyavskiy <dbelyavs@redhat.com> - 1:1.1.1k-16
- Fix CVE-2026-45447: Heap Use-After-Free in OpenSSL PKCS7_verify()
- Fix CVE-2024-4741: Use After Free with SSL_free_buffers

* 木  2月 12 2026 Antonio Vieiro <avieirov@redhat.com> - 1:1.1.1k-15
- Fix CVE-2025-69419: Arbitrary code execution due to out-of-bounds write in PKCS#12 processing

* 月 12月 22 2025 Nikita Sanjay Patwa <npatwa@redhat.com> - 1:1.1.1k-14.1
- Backport fix for openssl: Out-of-bounds read & write in RFC 3211 KEK Unwrap
  Fix CVE-2025-9230

* 火  9月 17 2024 Maurizio Barbaro <mbarbaro@redhat.com> - 1:1.1.1k-14
- Backport fix SSL_select_next proto from OpenSSL 3.2
  Fix CVE-2024-5535
リリース CVE 内容(changelogより)
-14 CVE-2024-5535 SSL_select_next_protoの不具合
-14.1 CVE-2025-9230 RFC 3211 KEK Unwrapの境界外読み書き
-15 CVE-2025-69419 PKCS#12処理の境界外書き込み
-16 CVE-2024-4741 SSL_free_buffersのUse After Free
-16 CVE-2026-45447 PKCS7_verify()のヒープUse After Free

alma810とrhel810は、これらの修正がすべて入っていない状態です。どれも「1.1.1k」のまま、リリース番号だけで修正が積み上がっていくのがRHEL系のバックポート方式です。

この差が意味すること

  • openssl version だけでは脆弱性対応の有無は分かりません。上流のバージョン文字列は変わらないからです。
  • 確認するときは rpm -q openssl でリリース番号まで見るか、rpm -q --changelog で目的のCVEが含まれているかを確認します。
  • 「最新のマイナーリリースを入れたから安全」とは限りません。ISOからオフラインで入れたサーバーは、インストール直後に更新が必要です。

各ディストリでの確認と更新の方法

更新があるかどうかは、次のコマンドで確認できます。

$ sudo dnf check-update openssl openssl-libs
$ sudo dnf updateinfo list --security openssl
$ rpm -q --changelog openssl | grep CVE-2024-5535

今回、AlmaLinuxとRocky Linuxの8.10では、check-updateでさらに新しいパッケージ(1.1.1k-18)が表示されました。つまりrocky810の-16も、検証時点で最新ではありません。

更新するときは次のとおりです。

$ sudo dnf update openssl openssl-libs

RHELは、サブスクリプションを登録しないとRed Hatのリポジトリからパッケージを取得できません。今回のrhel810は未登録(subscription-manager status の結果は「全体的な状態: 無効」)です。RHELで更新するには、先に登録が必要です。

$ sudo subscription-manager register
$ sudo dnf update openssl openssl-libs

なお、この記事の検証では更新はまだ当てていません。更新前後の差分は、続編の記事でまとめる予定です。

9.8側は3台とも同じ

9.8の3台は、どれも openssl-3.5.5-2.el9_8 で一致しました。changelogの先頭はCVE-2026-31790の修正です。ただし、rocky98のcheck-updateでは 3.5.8-2.el9_8 が表示されており、9系でもインストール後の更新は必要です。

まとめ

  • AlmaLinux・Rocky Linux・RHELの8.10で、opensslのリリースが-12と-16に分かれた
  • 原因はディストリの差ではなく、インストール時にISOのパッケージを使ったか、最新リポジトリを使ったか
  • -12と-16の間には、CVE-2024-5535、CVE-2025-9230、CVE-2025-69419、CVE-2024-4741、CVE-2026-45447の修正がある
  • openssl version ではなく、rpm -q のリリース番号とchangelogで確認する
  • OSを入れたら、まず dnf update(RHELは登録してから)

参考

コメント

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です