CVE-2021-3450
X509_V_FLAG_X509_STRICT を使用した CA 証明書チェックのバイパス
- 公開済み
- 2021/03/25
- 更新済み
- 2024/09/17
- CNA の割り当て
- openssl
- 観察された証拠
- 2026/08/08
プライマリ CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N中 · 今後 30 日間
- パーセンタイル
- 97.2%
- モデルの日付
- 2026/09/21
EPSS は統計的な推定値であり、確実性や影響の尺度ではありません。 CVSS、KEV ステータス、暴露、環境と組み合わせます。
概要
X509_V_FLAG_X509_STRICT フラグは、証明書チェーンに含まれる証明書に対する追加のセキュリティチェックを有効にします。このフラグはデフォルトでは設定されません。OpenSSL バージョン 1.1.1h 以降、チェーン内で明示的にエンコードされた楕円曲線パラメータを持つ証明書を許可しないチェックが、追加の strict チェックとして導入されました。このチェックの実装におけるエラーにより、チェーン内の証明書が有効な CA 証明書であることを確認する以前のチェックの結果が上書きされていました。これにより、非 CA 証明書が他の証明書を発行できないようにするチェックが事実上バイパスされます。「purpose」が設定されている場合、証明書が有効な CA であることを確認する後続のチェックの機会があります。libcrypto に実装されている名前付きの「purpose」値はすべてこのチェックを実行します。したがって、purpose が設定されている場合、strict フラグが使用されていても証明書チェーンは引き続き拒否されます。purpose は libssl のクライアントおよびサーバー証明書検証ルーチンでデフォルトで設定されますが、アプリケーションによって上書きまたは削除できます。影響を受けるには、アプリケーションが X509_V_FLAG_X509_STRICT 検証フラグを明示的に設定し、証明書検証の purpose を設定しないか、TLS クライアントまたはサーバーアプリケーションの場合はデフォルトの purpose を上書きする必要があります。OpenSSL バージョン 1.1.1h 以降がこの問題の影響を受けます。これらのバージョンのユーザーは OpenSSL 1.1.1k にアップグレードする必要があります。OpenSSL 1.0.2 はこの問題の影響を受けません。OpenSSL 1.1.1k で修正されました(影響を受けるバージョン: 1.1.1h〜1.1.1j)。
ソース
1- MUT-BC-SS-01PoC
OpenSSL v.1.1.1h における X.509 証明書検証のミューテーションテスト(CVE-2021-3450 に基づく)。
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。