VU#573195: Go, OpenSSL, Apple, LibreSSL, pyca, wolfSSL RFC 5280 実装における Name-Constraint の不整合
TLSライブラリはX.509 Name Constraintsの解釈が異なり、証明書の受け入れまたは拒否に一貫性がありません。これらの違いは、実装上の欠陥とRFC 5280で完全に規定されていない領域に起因します。具体的には、DNS名比較における大文字小文字の区別に関する不一致が存在します。IPアドレスの処理も異なり、特にIPv4マッピングIPv6アドレスに関して顕著です。URI-authorityの解析では、特定の文字やコンポーネントが存在する場合のホスト抽出に一貫性がありません。Subject Alternative Namesのワイルドカードマッチングのセマンティクスが明確に定義されていないため、さらなる乖離が生じています。一部の問題は純粋な実装上の欠陥ですが、その他はRFCの明示的なガイダンスの欠如に起因します。これらの違いの影響は限定的であり、信頼された署名の侵害、脆弱な検証パス、および認可のためにIDを使用するアプリケーションの組み合わせが必要です。サービスメッシュやCDNのような混在環境では、同じ証明書に対して一貫性のない証明書検証が発生する可能性があります。CERT/CCは、影響を受けるTLSライブラリプロジェクトと協力してこれらの問題に対処しています。高い信頼性を必要とする運用者は、バリデーターをテストし、アップデートを適用し、明示的なSubject Alternative Namesを使用する必要があります。アプリケーションレイヤーの許可リストと発行ポリシーも、これらの違いを軽減するのに役立ちます。