CWE-654: Reliance on a Single Factor in a Security Decision

BaseDraft

A protection mechanism relies exclusively, or to a large extent, on the evaluation of a single condition or the integrity of a single object or entity in order to make a decision about granting access to restricted resources or functionality.

View on MITRE
Back to CWE Lookup

Technical Details

Structure
Simple

Applicable To

Languages
Not Language-Specific
Platforms

Frequently Asked Questions

What is CWE-654: Reliance on a Single Factor in a Security Decision?+

CWE-654: Reliance on a Single Factor in a Security Decision is a Common Weakness Enumeration (CWE) entry maintained by MITRE. A protection mechanism relies exclusively, or to a large extent, on the evaluation of a single condition or the integrity of a single object or entity in order to make a decision about granting access to restricted resources or functionality.

What are the security consequences of Reliance on a Single Factor in a Security Decision?+

If exploited, CWE-654 (Reliance on a Single Factor in a Security Decision) it can compromise Access Control and Non-Repudiation, leading to outcomes such as Gain Privileges or Assume Identity and Hide Activities.

How do you prevent or mitigate Reliance on a Single Factor in a Security Decision?+

Recommended mitigations for CWE-654 include: Use multiple simultaneous checks before granting access to critical operations or granting critical privileges. A weaker but helpful mitigation is to use several successive checks (multiple layers of security). Use redundant access rules on different choke points (e.g., firewalls).

Which programming languages are affected by Reliance on a Single Factor in a Security Decision?+

CWE-654 commonly affects Not Language-Specific. Note that weaknesses are often language-agnostic patterns, so secure coding practices apply broadly.

What are real-world examples of Reliance on a Single Factor in a Security Decision?+

MITRE documents real CVEs mapped to CWE-654, including CVE-2022-35248. You can look up the full details of each CVE, including CVSS scores and remediation guidance, on our CVE Lookup tool.

What is the difference between a CWE and a CVE?+

A CWE (Common Weakness Enumeration) like CWE-654 describes a category of software weakness — the underlying flaw type. A CVE (Common Vulnerabilities and Exposures) identifies a specific, real-world vulnerability in a particular product. In short, a CWE is the kind of mistake, and a CVE is an instance of that mistake being found in software.

Learn More