NVD Vulnerability Detail
Search Exploit, PoC
CVE-2021-4044
Summary

Internally libssl in OpenSSL calls X509_verify_cert() on the client side to verify a certificate supplied by a server. That function may return a negative return value to indicate an internal error (for example out of memory). Such a negative return value is mishandled by OpenSSL and will cause an IO function (such as SSL_connect() or SSL_do_handshake()) to not indicate success and a subsequent call to SSL_get_error() to return the value SSL_ERROR_WANT_RETRY_VERIFY. This return value is only supposed to be returned by OpenSSL if the application has previously called SSL_CTX_set_cert_verify_callback(). Since most applications do not do this the SSL_ERROR_WANT_RETRY_VERIFY return value from SSL_get_error() will be totally unexpected and applications may not behave correctly as a result. The exact behaviour will depend on the application but it could result in crashes, infinite loops or other similar incorrect responses. This issue is made more serious in combination with a separate bug in OpenSSL 3.0 that will cause X509_verify_cert() to indicate an internal error when processing a certificate chain. This will occur where a certificate does not include the Subject Alternative Name extension but where a Certificate Authority has enforced name constraints. This issue can occur even with valid chains. By combining the two issues an attacker could induce incorrect, application dependent behaviour. Fixed in OpenSSL 3.0.1 (Affected 3.0.0).

Publication Date Dec. 15, 2021, 4:15 a.m.
Registration Date Dec. 15, 2021, 10 a.m.
Last Update Nov. 21, 2024, 3:36 p.m.
CVSS3.1 : HIGH
スコア 7.5
Vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
攻撃元区分(AV) ネットワーク
攻撃条件の複雑さ(AC)
攻撃に必要な特権レベル(PR) 不要
利用者の関与(UI) 不要
影響の想定範囲(S) 変更なし
機密性への影響(C) なし
完全性への影響(I) なし
可用性への影響(A)
CVSS2.0 : MEDIUM
Score 5.0
Vector AV:N/AC:L/Au:N/C:N/I:N/A:P
攻撃元区分(AV) ネットワーク
攻撃条件の複雑さ(AC)
攻撃前の認証要否(Au) 不要
機密性への影響(C) なし
完全性への影響(I) なし
可用性への影響(A)
Get all privileges. いいえ
Get user privileges いいえ
Get other privileges いいえ
User operation required いいえ
Affected software configurations
Configuration1 or higher or less more than less than
cpe:2.3:a:openssl:openssl:1.1.0:*:*:*:*:*:*:*
cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:* 1.0.2
cpe:2.3:a:openssl:openssl:3.0.0:*:*:*:*:*:*:*
Configuration2 or higher or less more than less than
cpe:2.3:a:netapp:cloud_backup:-:*:*:*:*:*:*:*
cpe:2.3:a:netapp:snapcenter:-:*:*:*:*:*:*:*
cpe:2.3:a:netapp:ontap_select_deploy_administration_utility:-:*:*:*:*:*:*:*
cpe:2.3:a:netapp:e-series_performance_analyzer:-:*:*:*:*:*:*:*
Configuration3 or higher or less more than less than
cpe:2.3:o:netapp:a250_firmware:-:*:*:*:*:*:*:*
execution environment
1 cpe:2.3:h:netapp:a250:-:*:*:*:*:*:*:*
Configuration4 or higher or less more than less than
cpe:2.3:o:netapp:500f_firmware:-:*:*:*:*:*:*:*
execution environment
1 cpe:2.3:h:netapp:500f:-:*:*:*:*:*:*:*
Configuration5 or higher or less more than less than
cpe:2.3:o:netapp:h500s_firmware:-:*:*:*:*:*:*:*
execution environment
1 cpe:2.3:h:netapp:h500s:-:*:*:*:*:*:*:*
Configuration6 or higher or less more than less than
cpe:2.3:o:netapp:h700s_firmware:-:*:*:*:*:*:*:*
execution environment
1 cpe:2.3:h:netapp:h700s:-:*:*:*:*:*:*:*
Configuration7 or higher or less more than less than
cpe:2.3:o:netapp:h300e_firmware:-:*:*:*:*:*:*:*
execution environment
1 cpe:2.3:h:netapp:h300e:-:*:*:*:*:*:*:*
Configuration8 or higher or less more than less than
cpe:2.3:o:netapp:h500e_firmware:-:*:*:*:*:*:*:*
execution environment
1 cpe:2.3:h:netapp:h500e:-:*:*:*:*:*:*:*
Configuration9 or higher or less more than less than
cpe:2.3:o:netapp:h700e_firmware:-:*:*:*:*:*:*:*
execution environment
1 cpe:2.3:h:netapp:h700e:-:*:*:*:*:*:*:*
Configuration10 or higher or less more than less than
cpe:2.3:o:netapp:h410s_firmware:-:*:*:*:*:*:*:*
execution environment
1 cpe:2.3:h:netapp:h410s:-:*:*:*:*:*:*:*
Configuration11 or higher or less more than less than
cpe:2.3:o:netapp:h410c_firmware:-:*:*:*:*:*:*:*
execution environment
1 cpe:2.3:h:netapp:h410c:-:*:*:*:*:*:*:*
Configuration12 or higher or less more than less than
cpe:2.3:o:netapp:h300s_firmware:-:*:*:*:*:*:*:*
execution environment
1 cpe:2.3:h:netapp:h300s:-:*:*:*:*:*:*:*
Configuration13 or higher or less more than less than
cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:* 17.0.0 17.3.0
Related information, measures and tools
Common Vulnerabilities List

JVN Vulnerability Information
OpenSSL の libssl における X509_verify_cert() 内部エラーの不正な処理
Title OpenSSL の libssl における X509_verify_cert() 内部エラーの不正な処理
Summary

OpenSSL の libssl には、内部エラーの発生を示す X509_verify_cert() 関数からの戻り値(負の値)の処理に問題があります。 深刻度 - 中(Severity: Moderate) OpenSSL の libssl は、クライアント側でサーバ証明書の検証を行う際に、X509_verify_cert() 関数を呼び出しますが、この関数内でメモリ不足が発生した場合などに、内部エラーを示す負の値が戻されます。 OpenSSL では、このような負の戻り値の処理に問題があり、結果として、OpenSSL を利用するアプリケーション側にアプリケーションが予期していない戻り値(SSL_ERROR_WANT_RETRY_VERIFY)を返すことになり、アプリケーションが正常に動作しない可能性があります。(CVE-2021-4044)

Possible impacts 影響は、アプリケーションによって異なりますが、次のような影響を受ける可能性があります。   * クラッシュ  * 無限ループ  * その他、不正な動作  また、OpenSSL 3.0 の別のバグと組み合わせることで、攻撃者によってアプリケーションが誤った動作をさせられる可能性があります。 
Solution

[アップデートする] 開発者が提供する情報をもとに、最新版へアップデートしてください。 開発者は、本脆弱性への対策版として次のバージョンをリリースしています。  * OpenSSL 3.0.1 [アップグレードする] OpenSSL 1.1.0 および OpenSSL 1.0.2 はサポートが終了しているため、アップデートは配信されていません。 そのため、開発者は OpenSSL 1.0.2 プレミアムサポート契約ユーザを除き、OpenSSL 3.0 または 1.1.1 へのアップグレードを推奨しています。

Publication Date Dec. 16, 2021, midnight
Registration Date Dec. 17, 2021, 2:27 p.m.
Last Update Dec. 17, 2021, 2:27 p.m.
Affected System
OpenSSL Project
OpenSSL 3.0.0 SSL/TLS クライアント
CVE (情報セキュリティ 共通脆弱性識別子)
ベンダー情報
その他
Change Log
No Changed Details Date of change
1 [2021年12月17日]   掲載 Dec. 17, 2021, 1:46 p.m.