Red Hat Enterprise Linuxにおける脆弱性修正の確認方法
概要: Red Hat Enterprise Linux (RHEL) のようなディストリビューションでは、上流のソフトウェアのバージョン番号にすぐに追従するのではなく、既存のバージョンに対してセキュリティパッチを「バックポート」することがよくあります。このため、特定の脆弱性に対する修正が、公式に発表されている上流のバージョン番号とは異なるRHELのパッケージバージョンに含まれている場合があります。 本記事では、Red Hat Security Advisory (RHSA) やBugzillaの記載だけでは確認が難しい場合に、RHEL環境で脆弱性修正が適用されているかを確認する方法を、CVE-2022-30522 を例に挙げてご紹介します。 ...
手順
基本的な脆弱性情報の検索方法として、Red Hat CVE Databaseより情報を検索する方法があります。
しかしながら、バージョン系違いの修正のみ記載されている場合があるため、その場合の情報確認方法を記載いたします。
Red Hat CVE Database
https://access.redhat.com/security/security-updates/cve
事例:CVE-2022-30522 の場合
CVE-2022-30522 は、httpdモジュールで mod_sed.so を利用している場合に影響を受ける可能性がある脆弱性です。この脆弱性は、上流のApache HTTP Serverではバージョン 2.4.54 で修正が含まれています。
-
CVE情報: CVE-2022-30522
-
関連するRed Hat Security Advisory (RHSA): RHSA-2022:8840
-
このRHSAでは、RHEL 8で修正が提供されていることが記載されています。
-
-
Red Hat Bugzilla: Bug 2095015
-
Bugzillaのコメント9でも同様に修正が適用されていることが確認できます。
-
問題点:RHELのバージョンと上流のバージョン番号の不一致
RHEL 8.4 の場合、httpd のパッケージバージョンは 2.4.37 系であり、上流の 2.4.54系とはバージョン番号が大きく異なります。そのため、Red Hat パッケージダウンロードサイトの変更履歴 (例: httpd - 2.4.37-65) を参照しても、直接的に 2.4.54 の修正内容を確認することはできません。
また、# dnf --showduplicates list httpd コマンドで利用可能なパッケージバージョンを確認しても、2.4.54 がリポジトリで提供されていないことがわかります。
# dnf --showduplicates list httpd
Updating Subscription Management repositories.
Last metadata expiration check: 1:19:03 ago on Mon 16 Jun 2025 08:45:00 PM EDT.
Installed Packages
httpd.x86_64 2.4.37-65.module+el8.10.0+23042+b3baf0f4.4 @rhel-8-for-x86_64-appstream-rpms
Available Packages
httpd.x86_64 2.4.37-10.module+el8+2764+7127e69e rhel-8-for-x86_64-appstream-rpms
# ... (以下省略)
脆弱性修正の確認方法
RHEL環境で特定のパッケージに脆弱性修正がバックポートされているかを確認する最も確実な方法は、rpm コマンドを使用してインストールされているパッケージの変更ログを確認することです。
簡易的に確認する方法を示します。
ステップ1: パッケージの変更ログをファイルに出力する
対象のRHELシステム上で、以下のコマンドを実行し、httpdパッケージの変更ログをテキストファイルに出力します。
# rpm -q --changelog httpd > httpd_changelog.txt
このコマンドは、httpdパッケージのすべての変更履歴をhttpd_changelog.txtというファイルに書き出します。
変更ログは非常に長文になるため、直接ターミナルで確認するよりもファイルに出力する方が効率的です。
ステップ2: 変更ログファイル内でCVE IDを検索する
出力された httpd_changelog.txt ファイルをテキストエディタ(例: vim や less)で開き、該当のCVE ID(今回は CVE-2022-30522)を検索します。
# vim httpd_changelog.txt
上記コマンド実施後 [ / ] を打キーし、検索したい文字列(今回は [2022-30522] )を入力し、Enterキーを押すと検索できます。 ステップ3: 検索結果を確認する検索すると、以下の記述が見つかります。
|
* Mon Jul 25 2022 Luboš Uhliarik <luhliari@redhat.com> - 2.4.37-51 - Resolves: #2097015 - CVE-2022-28614 httpd:2.4/httpd: out-of-bounds read via ap_rwrite() - Resolves: #2097031 - CVE-2022-28615 httpd:2.4/httpd: out-of-bounds read in ap_strcmp_match() - Resolves: #2097458 - CVE-2022-30522 httpd:2.4/httpd: mod_sed: DoS vulnerability - Resolves: #2097480 - CVE-2022-30556 httpd:2.4/httpd: mod_lua: Information disclosure with websockets - Resolves: #2098247 - CVE-2022-31813 httpd:2.4/httpd: mod_proxy: X-Forwarded-For dropped by hop-by-hop mechanism - Resolves: #2097451 - CVE-2022-29404 httpd:2.4/httpd: mod_lua: DoS in r:parsebody - Resolves: #2096997 - CVE-2022-26377 httpd:2.4/httpd: mod_proxy_ajp: Possible request smuggling |
httpd パッケージのバージョン 2.4.37-51 において、「Resolves: #2097458 - CVE-2022-30522 httpd:2.4/httpd: mod_sed: DoS vulnerability」という行があることが確認できます。
これは、CVE-2022-30522 の修正がこのバージョンに含まれていることを明確に示しています。 まとめと推奨事項 このように、RHELのパッケージは上流のバージョン系とは異なっていても、セキュリティ修正がバックポートされていることがあります。
# rpm -q --changelog <package_name> コマンドを使用することで、お客様が利用されているRHELのバージョンで、特定の脆弱性に対する修正が適用されているかどうかを確認できます。
不明点があった場合は、テクニカルサポートまでお問い合わせください。