The function is known — role check is missing
Attacker knows the admin endpoint (from app traffic, docs, or guessing)
Calls it with a regular user token
API validates token, but never checks role
Admin function executes
Example: Bumble premium endpoints accept free-tier tokens
Same endpoint — different methods, different auth
GET /api/posts/123 — anyone can read (authorized)
DELETE /api/posts/123 — only admins can delete (not checked)
Regular user changes GET to DELETE
Object ownership check passes; function check doesn’t exist
Post deleted by a non-admin