OpenSSL 1.0.2 < 1.0.2y複数の脆弱性

low Nessus プラグイン ID 146591
New! プラグインの深刻度には CVSS v3 が適用されるようになりました。

プラグインの深刻度は、デフォルトで CVSS v3 を使って計算されるように更新されました。プラグインに CVSS v3 スコアがない場合には、CVSS v2 を使って深刻度が計算されます。深刻度の表示設定は、[設定]のドロップダウンで切り替えができます。

概要

リモートサービスは、複数の脆弱性の影響を受けます。

説明

リモートホストにインストールされているテスト済み製品のバージョンは、テスト済みバージョンより前です。したがって、1.0.2yアドバイザリに記載されている複数の脆弱性の影響を受けます。

- OpenSSLパブリックAPI関数X509_issuer_and_serial_hash()は、X509の証明書に含まれている発行者およびシリアルナンバーデータに基づき、一意のハッシュ値の作成を試みます。ただし、発行者フィールドの解析中に発生する可能性のあるエラー(発行者フィールドが悪意を持って構築された場合に発生する可能性がある)を、適切に処理できません。その後、NULLポインターのderefとクラッシュに至り、サービス拒否攻撃を引き起こす可能性があります。X509_issuer_and_serial_hash()関数は、OpenSSL自体によって直接呼び出されることはありません。このため、アプリケーションは、この関数を直接使用し、信頼できないソースから取得した証明書でこの関数を使用する場合にのみ脆弱です。OpenSSLバージョン1.1.1i以下は、この問題の影響を受けます。これらのバージョンのユーザーは、OpenSSL 1.1.1jにアップグレードする必要があります。OpenSSLバージョン1.0.2x以下はこの問題の影響を受けます。しかしながら、OpenSSL 1.0.2はサポートが終了しており、今後は一般の更新を受け取れません。OpenSSL1.0.2のプレミアムサポートのお客様はにアップグレードする必要があります。その他のユーザーは、1.0.2yにアップグレードする必要があります。OpenSSL 1.1.1jで修正されました(1.1.1~1.1.1iが影響を受けます)。OpenSSL 1.0.2yで修正されました(1.0.2~1.0.2xが影響を受けます)(CVE-2021-23841)

-EVP_CipherUpdate、EVP_EncryptUpdateおよびEVP_DecryptUpdateへの呼び出しは、入力長がプラットフォーム上の整数の最大許容長さに近い場合、出力長引数をオーバーフローすることがあります。このような場合、関数呼び出しからの戻り値は1(成功を示す)になりますが、出力の長さの値は負になります。これにより、アプリケーションが不適切に動作したり、クラッシュしたりする可能性があります。
OpenSSLバージョン1.1.1i以下は、この問題の影響を受けます。これらのバージョンのユーザーは、OpenSSL 1.1.1jにアップグレードする必要があります。OpenSSLバージョン1.0.2x以下はこの問題の影響を受けます。しかしながら、OpenSSL 1.0.2はサポートが終了しており、今後は一般の更新を受け取れません。OpenSSL1.0.2のプレミアムサポートのお客様はにアップグレードする必要があります。その他のユーザーは、1.0.2yにアップグレードする必要があります。OpenSSL 1.1.1jで修正されました(1.1.1~1.1.1iが影響を受けます)。
OpenSSL 1.0.2yで修正されました(1.0.2~1.0.2xが影響を受けます)(CVE-2021-23840)

- OpenSSL 1.0.2はSSLv2をサポートしています。クライアントが、SSLv2とさらに新しいSSLおよびTLSバージョンの両方をサポートするように構成されているサーバーとSSLv2をネゴシエートしようとする場合、RSA署名をパディング解除するとき、バージョンロールバック攻撃の有無がチェックされます。SSLまたはSSLv2より後のTLSバージョンをサポートするクライアントは、特別な形式のパディングを使用することになっています。SSLv2より後をサポートするサーバーは、この特殊な形式のパディングが存在するクライアントからの接続試行を拒否することになっています。これはバージョンロールバックが発生したことを示しているためです(つまり、クライアントとサーバーの両方がSSLv2より後をサポートしており、同時にリクエストされているバージョンである)。このパディングチェックの実装では、ロジックが逆になりました。パディングが存在する場合に、接続試行が受け入れられ、そうでない場合は拒否されるようにするためです。これは、バージョンロールバック攻撃が発生した場合に、サーバーなどが接続を受け入れることを意味します。さらに、通常のSSLv2接続試行が行われた場合、サーバーが誤って接続を拒否します。バージョン1.0.2sから 1.0.2x のOpenSSL 1.0.2 サーバーのみがこの問題の影響を受けます。1.0.2サーバーが脆弱である要件:1)コンパイル時にSSLv2サポートを構成している(これはデフォルトでオフ)、2)ランタイムにSSLv2サポートを構成している(これはデフォルトでオフ)、3)SSLv2暗号スイート(これらはデフォルトの暗号スイートリストにない)を構成している。OpenSSL 1.1.1 はSSLv2をサポートしていないため、この問題に脆弱ではありません。潜在的なエラーは、RSA_padding_check_SSLv23()関数の実装にあります。これは、さまざまな他の関数によって使用されるRSA_SSLV23_PADDINGパディングモードにも影響します。1.1.1 はSSLv2をサポートしていませんが、RSA_padding_check_SSLv23()関数はまだ存在しています。RSA_SSLV23_PADDINGパディングモードも同様です。その関数を直接呼び出すアプリケーション、またはそのパディングモードを使用するアプリケーションでは、この問題が発生します。
しかしながら、1.1.1にSSLv2プロトコルのサポートがないため、これはバグとみなされ、そのバージョンではセキュリティ問題ではありません。OpenSSL 1.0.2はサポートが終了しており、今後は一般の更新を受け取れません。
OpenSSL1.0.2のプレミアムサポートのお客様はにアップグレードする必要があります。その他のユーザーは、1.0.2yにアップグレードする必要があります。
OpenSSL 1.0.2yで修正されました(Affected 1.0.2s~1.0.2xが影響を受けます)。(CVE-2021-23839)

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

ソリューション

OpenSSLバージョン1.0.2y以降にアップグレードしてください。

関連情報

https://www.openssl.org/news/secadv/20210216.txt

プラグインの詳細

深刻度: Low

ID: 146591

ファイル名: openssl_1_0_2y.nasl

バージョン: 1.5

タイプ: remote

ファミリー: Web Servers

公開日: 2021/2/19

更新日: 2021/6/3

依存関係: openssl_version.nasl

リスク情報

CVSS スコアのソース: CVE-2021-23839

VPR

リスクファクター: Medium

スコア: 6.7

CVSS v2

リスクファクター: Medium

Base Score: 4.3

Temporal Score: 3.2

ベクトル: AV:N/AC:M/Au:N/C:N/I:P/A:N

現状ベクトル: E:U/RL:OF/RC:C

CVSS v3

リスクファクター: Low

Base Score: 3.7

Temporal Score: 3.2

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

現状ベクトル: E:U/RL:O/RC:C

脆弱性情報

CPE: cpe:/a:openssl:openssl

必要な KB アイテム: openssl/port

エクスプロイトの容易さ: No known exploits are available

パッチ公開日: 2021/2/16

脆弱性公開日: 2021/2/16

参照情報

CVE: CVE-2021-23839, CVE-2021-23840, CVE-2021-23841

IAVA: 2021-A-0103-S