This vulnerability occurs when a system's security check depends almost entirely on just one condition, object, or piece of data to decide whether to grant access to sensitive resources or actions. It's like having a single, easily compromised lock on a vault, instead of a layered defense.
In modern applications, security decisions—like logging in a user, approving a transaction, or accessing admin functions—should be based on multiple, independent factors. Relying on just one factor, such as a single cookie, a hidden form field, or a geolocation check, creates a fragile security model. An attacker only needs to bypass or forge that one element to break the entire protection scheme, leading to unauthorized access, data breaches, or privilege escalation. To prevent this, developers should implement defense-in-depth by combining multiple verification factors. This includes using standard, well-tested authentication mechanisms, enforcing proper session management, and adding contextual checks like multi-factor authentication (MFA), rate limiting, or behavioral analysis. The goal is to ensure that if one security layer fails, others remain in place to stop an attack, making the system resilient against single points of failure.
Impact: Gain Privileges or Assume Identity
If the single factor is compromised (e.g. by theft or spoofing), then the integrity of the entire security mechanism can be violated with respect to the user that is identified by that factor.
Impact: Hide Activities
It can become difficult or impossible for the product to be able to distinguish between legitimate activities by the entity who provided the factor, versus illegitimate activities by an attacker.