918
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
Medium
Common Consequences
Scope Impact Likelihood
Access Control Gain Privileges or Assume Identity
Trust may be assigned to an entity who is not who it claims
to be.
Integrity Modify Application Data
Data from an untrusted (and possibly malicious) source
may be integrated.
Confidentiality Read Application Data
Data may be disclosed to an entity impersonating a trusted
entity, resulting in information disclosure.
Potential Mitigations
Phase: Architecture and Design
Ensure that certificates are checked for revoked status before each use of a protected resource.
If the certificate is checked before each access of a protected resource, the delay subject to a
possible race condition becomes almost negligible and significantly reduces the risk associated
with this issue.
Demonstrative Examples
Example 1:
The following code checks a certificate before performing an action.
Example Language: C (Bad)
if (cert = SSL_get_peer_certificate(ssl)) {
foo=SSL_get_verify_result(ssl);
if (X509_V_OK==foo)
//do stuff
foo=SSL_get_verify_result(ssl);
//do more stuff without the check.
While the code performs the certificate verification before each action, it does not check the result
of the verification after the initial attempt. The certificate may have been revoked in the time
between the privileged actions.
MemberOf Relationships
This MemberOf relationships table shows additional CWE Catgeories and Views that reference this
weakness as a member. This information is often useful in understanding where a weakness fits
within the context of external information sources.
Nature Type ID Name Page
MemberOf 988 SFP Secondary Cluster: Race Condition Window 888 2412
MemberOf 1396 Comprehensive Categorization: Access Control 1400 2519
Taxonomy Mappings
CWE Version 4.14
CWE-372: Incomplete Internal State Distinction
CWE-372: Incomplete Internal State Distinction