Appleの証明書検証も対象、名前制約に不整合
AppleのSecurity.frameworkを使うアプリを運用する企業に関係する問題です。証明書検証の経路と、検証した名前を認可に使うかどうかが、影響や更新の要否を判断する手がかりになります。
公開
RFC 5280に基づく証明書検証の複数の実装で、名前制約の扱いに不整合がある脆弱性が報告されました。対象には、証明書の信頼性を評価するAppleのSecurity.frameworkも含まれます。Security.frameworkを使うアプリを自社で運用している場合は、実際の証明書検証の経路と、検証した名前を認可に使っているかどうかが、影響を判断する手がかりになります。インターネットセキュリティの専門組織CERT/CCが、本件のアドバイザリVU#573195を公表しています。
RFC 5280は、インターネット上のX.509公開鍵基盤証明書と証明書失効リストのプロファイルを定める文書です。名前制約は、認証局の証明書に設定し、後続の証明書で使える名前の範囲を制限する仕組みです。今回の問題では、DNS名の比較、IPアドレスの扱い、URIからのホスト名の取り出し、ワイルドカードの照合に実装間の違いがあります。仕様に反する実装不具合と、仕様が定めていない部分の実装差は区別されています。Apple以外では、X.509証明書の解析・検証を行うGo標準ライブラリのcrypto/x509、暗号機能やTLS通信を扱うOpenSSL、OpenSSLから分岐したTLS・暗号ソフトウェア群のLibreSSL、組み込み機器などで使われるTLSライブラリのwolfSSLも対象として挙げられています。
Pythonアプリで暗号処理や証明書関連機能を使うためのパッケージであるpyca/cryptographyでは、証明書の対象となるDNS名やIPアドレスなどを記載するSANへの名前制約は検査されても、接続先として指定された名前が検査されない場合があります。この実装では、特定の証明書チェーンとワイルドカード証明書の組み合わせにより、制約対象外の接続先名でも証明書検証が通る可能性があります。攻撃の成立には、細工した証明書への信頼できる署名、影響を受ける検証経路への到達、検証した名前を認可に使うアプリケーションという条件が必要です。
JPCERT/CCとIPAが共同運営し、ソフトウェア製品などの脆弱性情報と対策情報を公開するポータルサイトのJVNは、2026年10月14日に本件のレポートを掲載し、同日に更新しました。CERT/CCのアドバイザリは、複数実装にまたがる本件全体のCVE番号を示していませんが、関連する個別事象としてCVE-2026-3833とCVE-2026-34073を挙げています。
情シス向けのポイント
- 複数実装を扱うアドバイザリには対象バージョンの範囲が記載されておらず、Security.frameworkを含め、バージョン番号だけでは該当性を判断できません。依存パッケージ、TLSライブラリ、証明書検証APIと、実際に使われる検証経路の確認が判断材料になります。
- CERT/CCは、運用中の証明書検証機能を自社の要件に照らして試験し、利用可能な更新を適用するよう案内しています。
- pyca/cryptographyの個別アドバイザリでは、46.0.5以前が影響対象、46.0.6以降が修正済みとされています。
出典
誤りを見つけたら訂正の窓口からお知らせください。