Class · High

CWE-638: Not Using Complete Mediation

The product does not perform access checks on a resource every time the resource is accessed by an entity, which can create resultant weaknesses if that entity's rights or privileges change over time.

CWE-638 · Class Level ·1 CVEs ·2 Mitigations

Description

The product does not perform access checks on a resource every time the resource is accessed by an entity, which can create resultant weaknesses if that entity's rights or privileges change over time.

Potential Impact

Integrity, Confidentiality, Availability, Access Control, Other

Gain Privileges or Assume Identity, Execute Unauthorized Code or Commands, Bypass Protection Mechanism, Read Application Data, Other

Mitigations & Prevention

Architecture and Design

Invalidate cached privileges, file handles or descriptors, or other access credentials whenever identities, processes, policies, roles, capabilities or permissions change. Perform complete authentication checks before accepting, caching and reusing data, dynamic content and code (scripts). Avoid caching access control decisions as much as possible.

Architecture and Design

Identify all possible code paths that might access sensitive resources. If possible, create and use a single interface that performs the access checks, and develop code standards that require use of this interface.

Real-World CVE Examples

CVE IDDescription
CVE-2007-0408Server does not properly validate client certificates when reusing cached connections.

Taxonomy Mappings

  • Software Fault Patterns: SFP20 — Race Condition Window

Frequently Asked Questions

What is CWE-638?

CWE-638 (Not Using Complete Mediation) is a software weakness identified by MITRE's Common Weakness Enumeration. It is classified as a Class-level weakness. The product does not perform access checks on a resource every time the resource is accessed by an entity, which can create resultant weaknesses if that entity's rights or privileges change over time.

How can CWE-638 be exploited?

Attackers can exploit CWE-638 (Not Using Complete Mediation) to gain privileges or assume identity, execute unauthorized code or commands, bypass protection mechanism, read application data, other. This weakness is typically introduced during the Implementation, Operation phase of software development.

How do I prevent CWE-638?

Key mitigations include: Invalidate cached privileges, file handles or descriptors, or other access credentials whenever identities, processes, policies, roles, capabilities or permissions change. Perform complete authenticat

What is the severity of CWE-638?

CWE-638 is classified as a Class-level weakness (High abstraction). It has been observed in 1 real-world CVEs.