VU#948176: 複数のTLSライブラリが委任強制をバイ... ノート

VU#948176: 複数のTLSライブラリが委任強制をバイパスできる

このドキュメントは、X.509 Name Constraintsの実装に関する13のライブラリ固有の記録を詳述しています。これらの記録は、さまざまなTLSライブラリがこれらの制約をどのように処理するかの不一致を浮き彫りにし、あるライブラリで受け入れられた名前が別のライブラリで拒否される状況につながっています。これらの問題の一部は解決されましたが、他の問題はまだレビュー中であるか、セキュリティ脆弱性とは見なされませんでした。Name Constraintsは、証明書発行局(CA)を定義された名前空間内に限定するように設計されています。DNS名のケースセンシティブ性およびワイルドカードマッチングの処理には不一致があり、GnuTLSやGoなどのライブラリはさまざまな動作を示しています。pyca/cryptographyは、SANに対して制約を検証しましたが、要求されたピア名に対しては検証しないことが判明しました。ライブラリは、IPアドレス制約に対してIPv4およびIPv6マッピングされたIPv6形式をどのように扱うかについても異なります。URIの処理は、特にURI SANからのホスト抽出に関して、さらなる不一致を提示します。AWS-LCおよびs2n-tlsは、リーフ証明書にSANがない場合のワイルドカードCommon Nameフォールバックに関する問題を報告しています。Mbed TLSは、特定の構成で、RFC 5280の要件に反して、非クリティカルなName Constraintsを強制しません。これらの不一致の影響は、攻撃者が信頼された署名を偽造し、承認のための検証パスを悪用できる場合にのみ関連します。CERT/CCは、影響を受けるプロジェクトと是正措置を調整しており、各ライブラリについてさまざまなステータスが報告されています。Name Constraintsに依存するオペレーターは、ライブラリの動作を確認し、明示的なSANと発行ポリシーを優先することをお勧めします。