OpenSSLプロジェクトチームは3月15日、「OpenSSL Security Advisory [15 March 2022] - Infinite loop in BN_mod_sqrt() reachable when parsing certificates (CVE-2022-0778)」において、OpenSSLに処理が無限ループに陥る脆弱性が存在すると伝えた。深刻度は重要(High)と評価されており注意が必要。すでに問題に対処したバージョンが公開されていることから、該当するバージョンを使用している場合はアップデートを適用することが望まれる。

  • OpenSSL Security Advisory [15 March 2022] - Infinite loop in BN_mod_sqrt() reachable when parsing certificates (CVE-2022-0778)

    OpenSSL Security Advisory [15 March 2022] - Infinite loop in BN_mod_sqrt() reachable when parsing certificates (CVE-2022-0778)

脆弱性が存在する製品およびバージョンは次のとおり。

  • OpenSSL 1.0.2系
  • OpenSSL 1.1.1系
  • OpenSSL 3.0系

脆弱性が修正されたソフトウェアおよびバージョンは次のとおり。

  • OpenSSL 1.0.2zd
  • OpenSSL 1.1.1n
  • OpenSSL 3.0.2

この脆弱性はモジュラー平方根を計算する処理にバグがあることに起因したもので、想定していない数値を計算する場合に永久ループが発生する可能性があるとされている。この処理は楕円曲線公開鍵の圧縮形式や楕円曲線パラメータを含む証明書を圧縮形式でエンコードしたものをパースする際に使用することから、細工されたデータを渡された場合に無限ループが発生する可能性がある。

OpenSSL 1.0.2系はすでにサポートが終了している。プレミアムサポートを利用しているユーザーのみが1.0.2の延長サポートを受けられる状態にある。また、1.1.0もすでにサポートが終了しているが、こちらはいかなる種類のアップデートも提供されていない。OpenSSLプロジェクトはOpenSSL 3.0系や1.1系へアップグレードすることを推奨している。