Broken Access Control
Access control enforces policy such that users cannot act outside of their intended permissions. Failures typically lead to unauthorized information disclosure, modification, or destruction of data. Now includes SSRF.
Overview
Maintains its position at #1 as the most critical web application security risk. 3.73% of applications tested had one or more of the 40 CWEs mapped to this category. Server-Side Request Forgery (SSRF) has been consolidated into this category, reflecting the impact SSRF has on access controls.
How Attackers Exploit This
Understanding attack patterns helps you build better defenses. These are the techniques security teams watch for.
Parameter tampering
An attacker modifies URL parameters or hidden form fields to access unauthorized resources. For example, changing an account number in a URL to view another user's data.
Forced browsing
An attacker accesses pages that should require authentication by directly entering the URL, bypassing the intended navigation flow.
Server-Side Request Forgery (SSRF)
The server is manipulated to make requests to internal services or cloud metadata endpoints, bypassing network access controls.
How to Prevent
- Except for public resources, deny by default
- Implement access control mechanisms once and reuse throughout the application
- Model access controls should enforce record ownership
- Disable web server directory listing and ensure metadata files are not present
- Log access control failures and alert admins when appropriate
- Rate limit API and controller access to minimize automated attack tooling
- Invalidate stateful session identifiers on logout
- Validate and sanitize user-supplied URLs before server-side requests
CWEs with Shoulder Detection (13)
These CWEs have Shoulder detection rules. Click to see specific vulnerabilities and fixes.
Other Mapped CWEs (22)
These CWEs are mapped to this category. Use MITRE references for guidance.