30秒で判断
対応すべき人:
- OpenSSL の CMP(Certificate Management Protocol)クライアント機能を利用している
- かつ expected sender の指定、またはサーバ証明書のピンニングを構成している
対応不要な人:
- CMP 機能を使用していない
- CMS API のみを使用している(本問題の経路には到達しない)
- 既に修正版へアップデート済み
確認コマンド:
openssl version -a
# CMP を使うアプリ/スクリプトの構成を確認
概要
本脆弱性は、OpenSSL の CMP 応答検証処理に存在します(CWE-134 外部制御されたフォーマット文字列の使用)。ossl_cmp_msg_check_update() が、相手(ピア)から受け取った送信者の識別名(DN)を X509_NAME_oneline() で変換し、それを そのまま ERR_raise_data() の書式文字列として渡して しまいます。
パーセント文字は変換後も残るため、CN=%s%n のような送信者DNが書式文字列として BIO_vsnprintf() に到達します。対応する可変長引数が存在しないため、%s や %n が無関係なスタック領域を参照・書き込みしようとし、クライアントがクラッシュ します。この経路は expected sender を構成している、またはサーバ証明書をピンニングしている(=CMPクライアントの通常構成)場合に到達します。
確実な影響は、悪意ある/傍受されたCMPエンドポイントからの サービス拒否(DoS) です。制御されたメモリ書き込みや、信頼できる任意コード実行の経路はないとされています。FIPSモジュールは影響しません。
CVSSベクトル
| 項目 | 値 |
|---|---|
| CVSSスコア | 9.8(Critical) |
| CWE | CWE-134(外部制御されたフォーマット文字列) |
| 攻撃元区分 (AV) | ネットワーク (N) |
| 攻撃条件の複雑さ (AC) | 低 (L) |
| 必要な特権 (PR) | なし (N) |
| ユーザーの関与 (UI) | 不要 (N) |
| 主な影響 | サービス拒否(クライアントクラッシュ) |
影響を受けるソフトウェア
| 製品 | 影響バージョン |
|---|---|
| OpenSSL(CMPクライアント) | 修正版より前(expected sender / 証明書ピンニング構成時) |
修正バージョンと回避策
各ディストリビューション/OpenSSL の 修正版へアップデート してください。CMP クライアント機能を使用していない場合や、CMS API のみを使用している場合は本問題の影響を受けません。
関連リンク
データソース: NVD (NIST) AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
