Improper Protection of Alternate Path

Draft Class
Structure: Simple
Description

This vulnerability occurs when an application fails to secure every possible route a user could take to reach sensitive features or data, leaving backdoors or unintended access points open.

Extended Description

Think of your application's access controls like a building's security system. If you only lock the main entrance but leave a side window or service door unsecured, the entire system is compromised. Similarly, this weakness isn't about a single broken permission check; it's about missing the holistic picture. Developers often secure the obvious, primary paths (like a main admin page) but overlook alternate routes such as deep links, API endpoints, file upload handlers, or legacy interfaces that bypass the normal user workflow. To prevent this, you must adopt an attacker's mindset and map your application's entire attack surface. Security checks must be consistent and applied at the resource or action level, not just on individual UI pages. Implement centralized authorization logic that validates permissions for every request, regardless of how it arrives—be it via the web interface, a mobile API, a direct URL, or a state-changing function. Regular security testing, including penetration tests that specifically hunt for these alternate paths, is essential to uncover hidden access points before attackers do.

Common Consequences 1
Scope: Access Control

Impact: Bypass Protection MechanismGain Privileges or Assume Identity

Potential Mitigations 1
Phase: Architecture and Design
Deploy different layers of protection to implement security in depth.
Observed Examples 1
CVE-2022-29238Access-control setting in web-based document collaboration tool is not properly implemented by the code, which prevents listing hidden directories but does not prevent direct requests to files in those directories.
Applicable Platforms
Languages:
Not Language-Specific : Undetermined
Modes of Introduction
Architecture and Design
Taxonomy Mapping
  • PLOVER
  • Software Fault Patterns