製品は証明書を提供するホストと通信するが、製品は証明書が実際にそのホストに関連付けられていることを適切に確認しない。
証明書の形式が正しく、署名され、信頼の連鎖に従っていたとしても、その証明書が単に、製品が相互作用しているサイトとは異なるサイトの有効な証明書である可能性がある。X.509証明書のSubjectやSubject Alternative Name(SAN)拡張子のCommon Name(CN)など、証明書のホスト固有データが適切にチェックされていない場合、リダイレクト攻撃やなりすまし攻撃によって、有効な証明書を持つ悪意のあるホストが、信頼できるホストになりすましてデータを提供する可能性がある。データの完全性を保証するために、証明書は有効でなければならず、アクセス先のサイトに関連するものでなければならない。
製品がホスト名のチェックを試みても、ホスト名を誤ってチェックする可能性はある。例えば、攻撃者は、信頼された名前で始まり、NULバイトが続く名前の証明書を作成することができます。このような場合、文字列ベースの比較の中には、信頼された名前を含む部分のみを検査するものがあります。
この弱点は、製品が証明書のピン留めを使用している場合でも、証明書がピン留めされる時点でホスト名を検証しない場合に発生する可能性があります。
The product communicates with a host that provides a certificate, but the product does not properly ensure that the certificate is actually associated with that host.
Even if a certificate is well-formed, signed, and follows the chain of trust, it may simply be a valid certificate for a different site than the site that the product is interacting with. If the certificate's host-specific data is not properly checked - such as the Common Name (CN) in the Subject or the Subject Alternative Name (SAN) extension of an X.509 certificate - it may be possible for a redirection or spoofing attack to allow a malicious host with a valid certificate to provide data, impersonating a trusted host. In order to ensure data integrity, the certificate must be valid and it must pertain to the site that is being accessed.
Even if the product attempts to check the hostname, it is still possible to incorrectly check the hostname. For example, attackers could create a certificate with a name that begins with a trusted name followed by a NUL byte, which could cause some string-based comparisons to only examine the portion that contains the trusted name.
This weakness can occur even when the product uses Certificate Pinning, if the product does not verify the hostname at the time a certificate is pinned.