Amazon Linux 2023 : openssl、openssl-devel、openssl-libs (ALAS2023-2023-051)

critical Nessus プラグイン ID 173139

概要

リモートの Amazon Linux 2023 ホストに、セキュリティ更新プログラムがありません。

説明

したがって、ALAS2023-2023-051 のアドバイザリに記載されている複数の脆弱性の影響を受けます。

- モジュラー平方根を計算する BN_mod_sqrt() 関数に、非素数の係数に対して永久にループするバグが含まれています。内部的に、この関数は圧縮形式の楕円曲線公開鍵または圧縮形式でエンコードされたベースポイントを持つ明示的な楕円曲線パラメーターを含む証明書を解析する際に使用されます。無効な明示的な曲線パラメーターを持つ証明書を作成することで、無限ループを発生させることが可能です。証明書の解析は、証明書の署名の検証前に行われるため、外部から提供された証明書を解析するプロセスは、サービス拒否攻撃を受ける可能性があります。細工された秘密鍵を解析する際に、明示的な楕円曲線パラメーターを含む可能性があるため、無限ループに達する可能性もあります。したがって、以下の脆弱な状況が含まれます。- サーバー証明書を消費する TLS クライアント - クライアント証明書を消費する TLS サーバー - 顧客から証明書または秘密鍵を取得するホスティングプロバイダー - サブスクライバーからの証明書リクエストを解析する認証局 - ASN.1 楕円曲線パラメーターを解析するその他のもの。攻撃者がパラメーター値をコントロールできる場合、BN_mod_sqrt() を使用するその他のアプリケーションは、この DoS の問題に対して脆弱です。OpenSSL 1.0.2バージョンでは、証明書の初期解析中に公開鍵が解析されないため、無限ループを発生させることがわずかに困難になります。ただし、証明書の公開鍵が必要な何らかの操作を行うと、無限ループが発生します。特に、攻撃者は自己署名証明書を使用して、証明書署名の検証中にループを発生させる可能性があります。OpenSSL バージョン 1.0.2、1.1.1 および 3.0は、この問題の影響を受けます。これは 2022 年 3 月 15 日の 1.1.1n および 3.0.2のリリースで対処されました。OpenSSL 3.0.2で修正されました (3.0.0、3.0.1 が影響を受けました)。OpenSSL 1.1.1n で修正されました (1.1.1-1.1.1m が影響を受けました)。OpenSSL 1.0.2zd で修正されました (1.0.2-1.0.2zc が影響を受けました)。(CVE-2022-0778)

- c_rehash スクリプトはシェルのメタ文字を適切にサニタイズしておらず、コマンドインジェクションを防ぎません。このスクリプトは、一部のオペレーティングシステムによって、自動的に実行される方法で配布されます。このようなオペレーティングシステムでは、攻撃者がスクリプトの権限で任意のコマンドを実行する可能性があります。c_rehash スクリプトの使用は旧式と考えられており、OpenSSL rehash コマンドラインツールで置き換える必要があります。
OpenSSL 3.0.3で修正されました (3.0.0、3.0.1、3.0.2 が影響を受けました)。OpenSSL 1.1.1o で修正されました (1.1.1-1.1.1n が影響を受けました)。
OpenSSL 1.0.2ze で修正されました (1.0.2-1.0.2zd が影響を受けました)。(CVE-2022-1292)

- 関数「OCSP_basic_verify」は、OCSP 応答で署名者証明書を検証します。(デフォルト以外の) フラグ OCSP_NOCHECKS が使用される場合、応答署名証明書が検証に失敗した場合でも、応答は正になります (検証が成功したことを意味します)。「OCSP_basic_verify」のほとんどのユーザーは、OCSP_NOCHECKS フラグを使用しないことが予想されます。この場合、証明書検証が失敗した場合、「OCSP_basic_verify」関数は負の値 (致命的なエラーを示す) を返します。この場合の通常の期待される戻り値は 0 です。この問題は、コマンドライン OpenSSL ocsp アプリケーションにも影響を与えます。-no_cert_checks オプションのある ocsp 応答を検証する際に、
コマンドラインアプリケーションは、実際には失敗しているにもかかわらず、検証が成功していると報告します。この場合、間違いの正常な応答には、失敗を示し、明らかに成功した結果とは矛盾するエラーメッセージも付随します。OpenSSL 3.0.3で修正されました (3.0.0、3.0.1、3.0.2 が影響を受けました)。(CVE-2022-1343)

- RC4-MD5 暗号スイートの OpenSSL 3.0実装が、AAD データを MAC キーとして不適切に使用します。
これにより、MAC キーが自明に予測可能になります。攻撃者はこの問題を悪用し、中間者攻撃を実行して 1 つのエンドポイントから OpenSSL 3.0受信者に送信されるデータを変更することで、変更されたデータが MAC 整合性チェックにパスするようにする可能性があります。OpenSSL 3.0エンドポイントから非 OpenSSL 3.0エンドポイントに送信されたデータは、受信者によって常に拒否され、接続はその時点で失敗します。多くのアプリケーションプロトコルでは、最初にクライアントからサーバーにデータを送信する必要があります。
したがって、このような場合、OpenSSL 3.0以外のクライアントと通信する際に影響を受けるのは、OpenSSL 3.0サーバーのみです。両方のエンドポイントが OpenSSL 3.0の場合、攻撃者は両方向に送信されているデータを変更する可能性があります。この場合、アプリケーションプロトコルに関係なく、クライアントとサーバーの両方が影響を受ける可能性があります。注意: 攻撃者が存在しない場合、このバグにより、OpenSSL 3.0以外のエンドポイントと通信する OpenSSL 3.0エンドポイントが、この暗号スイートの使用する場合、ハンドシェイクの完了に失敗します。データの機密性はこの問題の影響を受けません。つまり、攻撃者はこの暗号スイートを使用して暗号化されたデータを復号化できません。変更のみが可能です。この攻撃が機能するためには、両方のエンドポイントが RC4-MD5 暗号スイートを正当にネゴシエートする必要があります。この暗号スイートは、デフォルトでは OpenSSL 3.0でコンパイルされておらず、デフォルトのプロバイダーまたはデフォルトの暗号スイートリストでは利用できません。TLSv1.3 がネゴシエートされた場合、この暗号スイートは使用されません。OpenSSL 3.0エンドポイントがこの暗号スイートを使用するには、以下が発生している必要があります。1) OpenSSL は (デフォルトではない) コンパイル時間オプション enable-weak-ssl-ciphers でコンパイルされている必要があります。2) OpenSSL は (アプリケーションコードまたは構成を通じて) レガシープロバイダーを明示的にロードしている必要があります。3) 暗号スイートは暗号スイートリストに明示的に追加されている必要があります。4) libssl セキュリティレベルが 0 (デフォルトは 1) に設定されている必要があります。5) TLSv1.3 より前のバージョンの SSL/TLS がネゴシエートされている必要があります。6) 両方のエンドポイントは、両方のエンドポイントに共通する他のエンドポイントよりも優先して RC4-MD5 暗号スイートをネゴシエートする必要があります。OpenSSL 3.0.3で修正されました (3.0.0、3.0.1、3.0.2 が影響を受けました)。(CVE-2022-1434)

- ハッシュテーブルを空にする OPENSSL_LH_flush() 関数に、削除されたハッシュテーブルエントリによって占有されているメモリの再利用を破損させるバグが含まれています。この関数は、証明書またはキーをデコードするときに使用されます。長期間有効なプロセスが証明書またはキーを定期的にデコードすると、そのメモリ使用率が無制限に拡大し、オペレーティングシステムによってプロセスが終了され、サービス拒否が引き起こされる可能性があります。
また、空のハッシュテーブルエントリをトラバースするのにさらに時間がかかるようになります。通常、このような長期間有効なプロセスは、クライアント証明書認証を受け入れるように構成された TLS クライアントまたは TLS サーバーです。この関数は OpenSSL 3.0バージョンに追加されたため、古いリリースはこの問題の影響を受けません。OpenSSL 3.0.3で修正されました (3.0.0、3.0.1、3.0.2 が影響を受けました)。(CVE-2022-1473)

- CVE-2022-1292で特定された c_rehash シェルコマンドインジェクションに加えて、コマンドインジェクションを防止するために c_rehash スクリプトがシェルメタ文字を適切にサニタイズしていないという状況がコードレビューで見つかりました。CVE-2022-1292 が修正されたとき、ハッシュされている証明書のファイル名がシェルを介して実行されるコマンドに渡される可能性があるスクリプトに他の場所があるとは発見されませんでした。このスクリプトは、一部のオペレーティングシステムによって、自動的に実行される方法で配布されます。このようなオペレーティングシステムでは、攻撃者がスクリプトの権限で任意のコマンドを実行する可能性があります。c_rehash スクリプトの使用は旧式と考えられており、OpenSSL rehash コマンドラインツールで置き換える必要があります。OpenSSL 3.0.4で修正されました (3.0.0、3.0.1、3.0.2、3.0.3 が影響を受けます)。OpenSSL 1.1.1p で修正されました (1.1.1-1.1.1o が影響を受けます)。OpenSSL 1.0.2zf で修正されました (1.0.2-1.0.2ze が影響を受けます)。(CVE-2022-2068)

- AES-NI アセンブリ最適化実装を使用する 32 ビット x86 プラットフォームの AES OCB モードは、一部の状況でデータ全体を暗号化しません。これにより、書き込まれなかったメモリに既存の 16 バイトのデータが漏洩する可能性があります。インプレース暗号化の特別なケースでは、平文の 16 バイトが漏洩します。OpenSSL は、TLS および DTLS の OCB ベースの暗号化パッケージをサポートしていないため、どちらも影響を受けません。OpenSSL 3.0.5で修正されました (3.0.0-3.0.4 が影響を受けました)。OpenSSL 1.1.1q で修正されました (1.1.1-1.1.1p が影響を受けます)。(CVE-2022-2097)

- X.509 証明書の検証、特に名前の制約のチェックで、バッファオーバーランが発生する可能性があります。これは証明書チェーン署名の検証後に発生し、信頼できる発行者へのパスを構築できないにもかかわらず、CA が悪意のある証明書に署名するか、アプリケーションが証明書の検証を続行する必要があることに注意してください。攻撃者は、悪意のあるメールアドレスを細工して、攻撃者が制御する 4 バイトをスタックでオーバーフローさせる可能性があります。このバッファオーバーフローにより、クラッシュが発生したり (サービス拒否が引き起こされます)、リモートコード実行が発生したりする可能性があります。多くのプラットフォームは、リモートコード実行のリスクを軽減するスタックオーバーフロー保護を実装しています。任意のプラットフォーム / コンパイラのスタックレイアウトに基づいて、リスクがさらに緩和される可能性があります。CVE-2022-3602 のプレアナウンスでは、この問題を「重要度最高」と説明しています。上記の緩和要因のいくつかに基づくさらなる分析により、これは「重要度高」にダウングレードされています。ユーザーには、依然として新しいバージョンへ至急アップグレードすることが推奨されています。TLS クライアントでは、悪意のあるサーバーに接続することでこれが発生する可能性があります。
TLS サーバーでは、サーバーがクライアント認証をリクエストし、悪意のあるクライアントが接続すると、これが発生する可能性があります。OpenSSL 3.0.7で修正されました (3.0.0、3.0.1、3.0.2、3.0.3、3.0.4、3.0.5、3.0.6 が影響を受けました)。(CVE-2022-3602)

- X.509 証明書の検証、特に名前の制約のチェックで、バッファオーバーランが発生する可能性があります。これは証明書チェーン署名の検証後に発生し、信頼できる発行者へのパスを構築できないにもかかわらず、CA が悪意のある証明書に署名するか、アプリケーションが証明書の検証を続行する必要があることに注意してください。攻撃者は、証明書の悪意のあるメールアドレスを細工し、スタック上の「。」文字 (10 進数の 46) を含む任意のバイト数をオーバーフローさせる可能性があります。このバッファオーバーフローにより、クラッシュが発生する可能性があります (サービス拒否が引き起こされます)。TLS クライアントでは、悪意のあるサーバーに接続することでこれが発生する可能性があります。TLS サーバーでは、サーバーがクライアント認証をリクエストし、悪意のあるクライアントが接続すると、これが発生する可能性があります。(CVE-2022-3786)

Nessus はこれらの問題をテストしておらず、代わりにアプリケーションの自己報告されたバージョン番号にのみ依存しています。

ソリューション

「dnf update openssl --releasever=2023.0.20230222」を実行してシステムを更新してください。

参考資料

https://alas.aws.amazon.com/AL2023/ALAS-2023-051.html

https://alas.aws.amazon.com/cve/html/CVE-2022-0778.html

https://alas.aws.amazon.com/cve/html/CVE-2022-1292.html

https://alas.aws.amazon.com/cve/html/CVE-2022-1343.html

https://alas.aws.amazon.com/cve/html/CVE-2022-1434.html

https://alas.aws.amazon.com/cve/html/CVE-2022-1473.html

https://alas.aws.amazon.com/cve/html/CVE-2022-2068.html

https://alas.aws.amazon.com/cve/html/CVE-2022-2097.html

https://alas.aws.amazon.com/cve/html/CVE-2022-3602.html

https://alas.aws.amazon.com/cve/html/CVE-2022-3786.html

https://alas.aws.amazon.com/faqs.html

プラグインの詳細

深刻度: Critical

ID: 173139

ファイル名: al2023_ALAS2023-2023-051.nasl

バージョン: 1.4

タイプ: local

エージェント: unix

公開日: 2023/3/21

更新日: 2023/4/21

サポートされているセンサー: Agentless Assessment, Frictionless Assessment Agent, Frictionless Assessment AWS, Nessus Agent, Nessus

リスク情報

VPR

リスクファクター: High

スコア: 7.4

CVSS v2

リスクファクター: Critical

基本値: 10

現状値: 8.3

ベクトル: CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C

CVSS スコアのソース: CVE-2022-2068

CVSS v3

リスクファクター: Critical

基本値: 9.8

現状値: 9.1

ベクトル: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

現状ベクトル: CVSS:3.0/E:F/RL:O/RC:C

脆弱性情報

CPE: p-cpe:/a:amazon:linux:openssl, p-cpe:/a:amazon:linux:openssl-debuginfo, p-cpe:/a:amazon:linux:openssl-debugsource, p-cpe:/a:amazon:linux:openssl-devel, p-cpe:/a:amazon:linux:openssl-libs, p-cpe:/a:amazon:linux:openssl-libs-debuginfo, p-cpe:/a:amazon:linux:openssl-perl, cpe:/o:amazon:linux:2023

必要な KB アイテム: Host/local_checks_enabled, Host/AmazonLinux/release, Host/AmazonLinux/rpm-list

エクスプロイトが利用可能: true

エクスプロイトの容易さ: Exploits are available

パッチ公開日: 2023/2/17

脆弱性公開日: 2022/3/15

参照情報

CVE: CVE-2022-0778, CVE-2022-1292, CVE-2022-1343, CVE-2022-1434, CVE-2022-1473, CVE-2022-2068, CVE-2022-2097, CVE-2022-3602, CVE-2022-3786

IAVA: 2022-A-0121-S, 2022-A-0186-S, 2022-A-0257-S, 2022-A-0265-S, 2022-A-0452-S