CVE-2022-0778
証明書の解析時に到達可能な BN_mod_sqrt() の無限ループ
- 公開済み
- 2022/03/15
- 更新済み
- 2026/05/22
- CNA の割り当て
- openssl
- 観察された証拠
- 2026/08/08
プライマリ CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H高 · 今後 30 日間
- パーセンタイル
- 99.4%
- モデルの日付
- 2026/09/21
EPSS は統計的な推定値であり、確実性や影響の尺度ではありません。 CVSS、KEV ステータス、暴露、環境と組み合わせます。
概要
BN_mod_sqrt()関数は、モジュラー平方根を計算する関数ですが、非素数の法に対して永久にループし続ける可能性があるバグを含んでいます。この関数は内部的に、圧縮形式の楕円曲線公開鍵、または圧縮形式でエンコードされた基点を持つ明示的な楕円曲線パラメータを含む証明書を解析する際に使用されます。無効な明示的曲線パラメータを持つ証明書を細工することで、無限ループを引き起こすことが可能です。証明書の解析は証明書署名の検証よりも前に行われるため、外部から提供された証明書を解析するプロセスはすべて、サービス拒否攻撃を受ける可能性があります。無限ループは、明示的な楕円曲線パラメータを含む可能性がある細工された秘密鍵を解析する際にも発生する可能性があります。したがって、脆弱な状況には以下が含まれます: - サーバー証明書を処理するTLSクライアント - クライアント証明書を処理するTLSサーバー - 顧客から証明書や秘密鍵を受け取るホスティングプロバイダー - 加入者からの証明書要求を解析する認証局 - ASN.1楕円曲線パラメータを解析するその他すべてのもの また、攻撃者がパラメータ値を制御できる状態でBN_mod_sqrt()を使用するその他のアプリケーションも、このDoS問題の影響を受けます。OpenSSL 1.0.2バージョンでは、証明書の初期解析中に公開鍵が解析されないため、無限ループを引き起こすのがやや困難になっています。ただし、証明書から公開鍵を必要とする操作はすべて無限ループを引き起こします。特に、攻撃者は自己署名証明書を使用して、証明書署名の検証中にループを引き起こすことができます。 この問題はOpenSSLバージョン1.0.2、1.1.1、3.0に影響します。2022年3月15日にリリースされた1.1.1nおよび3.0.2で対処されました。 OpenSSL 3.0.2で修正済み(影響を受けるバージョン:3.0.0、3.0.1)。 OpenSSL 1.1.1nで修正済み(影響を受けるバージョン:1.1.1-1.1.1m)。 OpenSSL 1.0.2zdで修正済み(影響を受けるバージョン:1.0.2-1.0.2zc)。
ソース
5CVE-2022-0778の概念実証(P12およびPEM形式)
CVE-2022-0778の概念実証エクスプロイト。非素数曲線パラメータを持つ細工されたX.509証明書を介してOpenSSLのBN_mod_sqrtの無限ループを実証し、サービス拒否攻撃を可能にします。
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。