BETA Shoulder is in beta — Findings may sometimes be wrong. Your feedback shapes what we fix next. Share feedback
#1 A01:2021

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.

Overview

Moving up from #5, 94% of applications were tested for some form of broken access control. The 34 CWEs mapped to Broken Access Control had more occurrences in applications than any other category.

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.

Detection signal: Requests with sequential IDs being tested, or parameters being modified in unexpected ways

Forced browsing

An attacker accesses pages that should require authentication by directly entering the URL, bypassing the intended navigation flow.

Detection signal: Direct requests to admin or privileged URLs without proper session tokens

Privilege escalation

A standard user gains access to admin functionality by manipulating their role or permissions data.

Detection signal: Role parameters being modified in requests, or admin endpoints accessed by non-admin sessions

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

CWEs with Shoulder Detection (12)

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.