Vulnerability
User-to-Admin Access
Vulnerability
User-to-admin access occurs when a user authenticated at a lower privilege level can reach functionality or data reserved for a higher-privilege role, such as an administrator.
For example:
Logged in as standard user:
GET /admin/dashboard
→ intended only for admin users
→ access granted ✗The important difference from horizontal authorization is the boundary being crossed:
Horizontal
→ user 4521 → user 4522
→ same privilege level
Vertical
→ standard user → administrator functionality
→ different privilege levelsA vulnerable application might perform only the authentication check:
Valid session? ✓
↓
Serve /admin/dashboardwhen it should also verify the required privilege:
Valid session? ✓
↓
Role/permission allows admin dashboard? ✗
↓
RejectThe bypass can happen in several ways:
Missing server-side role check
→ endpoint accepts any authenticated user
Client-side-only restriction
→ UI hides admin functionality but API doesn't enforce it
Incorrect role check
→ checks "logged in" instead of "admin"
Inconsistent authorization
→ /admin/dashboard protected
→ /api/admin/dashboard forgotten
Client-controlled role
→ server trusts role=admin from the requestThe most important principle is that the privilege decision must be made server-side for the requested operation, not inferred from which page the user reached or what the client claims their role is.