The endpoint had no authentication at all — any HTTP request returned data. Beyond BOLA, this was a complete auth failure.
Authorization check existed but failed in practice. Attacker ran millions of queries over weeks — no alert triggered.
The API returned location data regardless of block status. The authorization check didn't account for the social relationship between users.
Sequential integer user IDs + no object-level check = trivial enumeration of 60 million accounts.