722
Mapped Taxonomy Name Node ID Fit Mapped Node Name
CLASP Failure to follow chain of trust in
certificate validation
References
[REF-18]Secure Software, Inc.. "The CLASP Application Security Process". 2005. < https://
cwe.mitre.org/documents/sources/TheCLASPApplicationSecurityProcess.pdf >.
[REF-245]Martin Georgiev, Subodh Iyengar, Suman Jana, Rishita Anubhai, Dan Boneh and Vitaly
Shmatikov. "The Most Dangerous Code in the World: Validating SSL Certificates in Non-Browser
Software". 2012 October 5. < http://www.cs.utexas.edu/~shmat/shmat_ccs12.pdf >.
[REF-44]Michael Howard, David LeBlanc and John Viega. "24 Deadly Sins of Software Security".
McGraw-Hill. 2010.
CWE-297: Improper Validation of Certificate with Host Mismatch
Weakness ID : 297
Structure : Simple
Abstraction : Variant
Description
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.
Extended Description
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.
Relationships
The table(s) below shows the weaknesses and high level categories that are related to this
weakness. These relationships are defined as ChildOf, ParentOf, MemberOr and give insight to
similar items that may exist at higher and lower levels of abstraction. In addition, relationships such
as PeerOf and CanAlsoBe are defined to show similar weaknesses that may want to be explored.
Relevant to the view "Research Concepts" (CWE-1000)
Nature Type ID Name Page
ChildOf 295 Improper Certificate Validation 714
ChildOf 923 Improper Restriction of Communication Channel to Intended
Endpoints