公開日:2023/07/20 最終更新日:2023/08/02

JVNVU#95617114
OpenSSLのDH_check()関数におけるDHキーとパラメータのチェックに過剰な時間がかかる問題(OpenSSL Security Advisory [19th July 2023])

概要

OpenSSL Projectより、OpenSSL Security Advisory [19th July 2023](Excessive time spent checking DH keys and parameters (CVE-2023-3446))が公開されました。

影響を受けるシステム

  • OpenSSL 3.1
  • OpenSSL 3.0
  • OpenSSL 1.1.1
  • OpenSSL 1.0.2

詳細情報

OpenSSL Projectより、OpenSSL Security Advisory [19th July 2023]が公開されました。

深刻度 - 低(Severity: Low)
OpenSSLのDH_check()関数は、DHパラメータに対してさまざまなチェックを実行します。これらのチェックの1つでは、係数(pパラメータ)が大きすぎないことを確認しますが、非常に大きな係数を使用しようとすると処理速度が遅くなります。
OpenSSLは通常、長さが10,000 ビットを超える係数を使用しませんが、DH_check()関数は、指定されたキーまたはパラメタが大きすぎる場合でもチェックを行います。
DH_check()関数は、DH_check_ex()関数とEVP_PKEY_param_check()関数から呼び出されるため、DH_check()関数だけでなくこれらの関数を呼び出すアプリケーションも影響を受ける可能性があります。また、「-check」オプションを使用するOpenSSL dhparamおよびpkeyparamコマンドラインアプリケーションも本脆弱性の影響を受けます。

なお、OpenSSL Projectは、OpenSSL SSL/TLS実装および、OpenSSL 3.0と3.1のFIPSプロバイダは本脆弱性の影響を受けないとしています。

想定される影響

DH_check()、DH_check_ex()、または EVP_PKEY_param_check() 関数を使用して DHキーまたは DHパラメータをチェックするアプリケーションでは、大きな遅延が発生する可能性があるため、チェックされるキーまたはパラメータが信頼できないソースから取得された場合、サービス運用妨害(DoS)状態となる可能性があります。

対策方法

アップデートする
開発者による本脆弱性公開時点では、深刻度が低であるため、OpenSSL gitリポジトリにて、commitのみを提供していましたが、現地時間2023年8月1日に本脆弱性を修正した以下のバージョンがリリースされました。

  • OpenSSL 1.1.1v
  • OpenSSL 3.0.10
  • OpenSSL 3.1.2

参考情報

JPCERT/CCからの補足情報

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

謝辞

関連文書

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

更新履歴

2023/08/02
[対策方法]および[ベンダ情報]を更新しました