Broken access control tops OWASP's list. Learn how attackers exploit authorization gaps and how your team can prevent IDOR and privilege escalation with robust server-side checks and least privilege.
In the OWASP Top 10 for 2021, Broken Access Control claimed the number one position as the most critical web application security vulnerability. This rise from fifth place shows how authorization failures have become a primary attack vector used to compromise modern applications.
Studies show that 94% of tested applications contain some form of access control weakness, with an average incidence rate of 3.81%. The 34 CWEs mapped to this category occurred more than any other, making it essential for engineering and security teams to understand and mitigate this threat.
Access control enforces policy for what authenticated users can do. When these controls fail, attackers bypass authorization, reach sensitive functionality, and exfiltrate data.
Broken access control occurs when applications fail to properly enforce permissions on resources or actions. Unlike sophisticated exploits, these issues often enable direct access to sensitive objects via simple URL or parameter manipulation.
/user/profile
to /admin/dashboard
).Attackers change identifiers like /user/123
to /user/456
to view or modify another user's data.
UI checks exist but server-side routes/APIs remain callable. Admin functions are reachable via direct URL or API calls if authorization middleware is missing.
Attackers tamper with JWT claims, cookies, or hidden fields to escalate privileges. Client-side checks without server validation are easily bypassed.
Overly permissive binding allows untrusted input to set sensitive fields such as isAdmin
.
Business consequences include unauthorized data disclosure, regulatory penalties (GDPR/HIPAA), brand damage, and significant incident response costs.
Strengthen your authorization model with expert testing. See our web application and API penetration testing services. U.S. organizations can also review our guide for U.S. businesses.
Map roles, permissions, and sensitive objects. Create test accounts for each role and attempt both horizontal and vertical access. Fuzz object IDs and references in URLs and API requests. Ensure client checks are backed by server-side authorization.
These flaws often grant direct access to sensitive data without complex exploitation. Simple parameter changes can succeed silently and look like normal traffic, making detection harder. With prevalence near 94% of apps, the attack surface is enormous.
Broken access control is the most critical risk facing modern web apps. Organizations can dramatically reduce exposure by implementing least privilege and RBAC, enforcing strict server-side authorization, and running regular penetration tests focused on authorization flows.
Flexible, scalable PTaaS for modern product teams.