720
Nature Type ID Name Page
ChildOf 573 Improper Following of Specification by Caller 1298
ChildOf 295 Improper Certificate Validation 714
PeerOf 370 Missing Check for Certificate Revocation after Initial Check 917
Relevant to the view "Architectural Concepts" (CWE-1008)
Nature Type ID Name Page
MemberOf 1014 Identify Actors 2429
Applicable Platforms
Language : Not Language-Specific (Prevalence = Undetermined)
Likelihood Of Exploit
Low
Common Consequences
Scope Impact Likelihood
Non-Repudiation Hide Activities
Exploitation of this flaw can lead to the trust of data that
may have originated with a spoofed source.
Integrity
Confidentiality
Availability
Access Control
Gain Privileges or Assume Identity
Execute Unauthorized Code or Commands
Data, requests, or actions taken by the attacking entity can
be carried out as a spoofed benign entity.
Detection Methods
Automated Static Analysis
Automated static analysis, commonly referred to as Static Application Security Testing (SAST),
can find some instances of this weakness by analyzing source code (or binary/compiled code)
without having to execute it. Typically, this is done by building a model of data flow and control
flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input)
with "sinks" (destinations where the data interacts with external components, a lower layer such
as the OS, etc.)
Effectiveness = High
Potential Mitigations
Phase: Architecture and Design
Ensure that proper certificate checking is included in the system design.
Phase: Implementation
Understand, and properly implement all checks necessary to ensure the integrity of certificate
trust integrity.
Phase: Implementation
If certificate pinning is being used, ensure that all relevant properties of the certificate are fully
validated before the certificate is pinned, including the full chain of trust.
Demonstrative Examples
Example 1:
This code checks the certificate of a connected peer.
Example Language: C (Bad)
if ((cert = SSL_get_peer_certificate(ssl)) && host)
CWE Version 4.14
CWE-296: Improper Following of a Certificate's Chain of Trust
CWE-296: Improper Following of a Certificate's Chain of Trust