1 Vertical Privilege Escalation
Vertical privilege escalation occurs when a lower-privileged user accesses functions or data reserved for higher-privileged roles (e.g., a regular user accessing admin endpoints).
Client-side only authorization (vulnerable):
// Frontend hides the admin button for non-admins
// But the API endpoint has no server-side check!
if (user.role === "admin") {
document.getElementById("admin-btn").style.display = "block";
}# API endpoint with no role check
@app.route("/api/admin/delete-user", methods=["DELETE"])
def delete_user():
user_id = request.json["user_id"]
db.delete_user(user_id) # Any authenticated user can call this!An attacker simply calls DELETE /api/admin/delete-user directly — the hidden UI element does not protect anything.
IDOR leading to escalation: Accessing /api/users/1/promote where only user ID 1 (an admin) should be able to self-promote, but any user can call it without ownership checks.