公開日:2021/12/16 最終更新日:2021/12/16

JVNVU#90127554
OpenSSLのlibsslにおけるX509_verify_cert()内部エラーの不正な処理

概要

OpenSSLのlibsslには、内部エラーの発生を示すX509_verify_cert()関数からの戻り値(負の値)の処理に問題があります。

影響を受けるシステム

  • OpenSSL 3.0.0 SSL/TLS クライアント
OpenSSL 1.1.1および1.0.2は、本脆弱性の影響を受けないとのことです。
なお、OpenSSL 1.1.0はサポートが終了しているため、本脆弱性の評価を実施していないとのことです。

詳細情報

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

想定される影響

影響は、アプリケーションによって異なりますが、次のような影響を受ける可能性があります。

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

対策方法

アップデートする
開発者が提供する情報をもとに、最新版へアップデートしてください。
開発者は、本脆弱性への対策版として次のバージョンをリリースしています。

  • OpenSSL 3.0.1
アップグレードする
OpenSSL 1.1.0およびOpenSSL 1.0.2はサポートが終了しているため、アップデートは配信されていません。
そのため、開発者はOpenSSL 1.0.2プレミアムサポート契約ユーザを除き、OpenSSL 3.0または1.1.1へのアップグレードを推奨しています。

参考情報

JPCERT/CCからの補足情報

JPCERT/CCによる脆弱性分析結果

謝辞

関連文書

JPCERT 緊急報告
JPCERT REPORT
CERT Advisory
CPNI Advisory
TRnotes
CVE
JVN iPedia