BOLA attack is an object-level access control attack where a user or client requests data tied to another account by changing an object identifier. It exploits missing or weak authorisation checks on records, files, orders or API resources, so the server returns someone else’s object instead of enforcing ownership or role-based access.
What BOLA Means in Practice
BOLA, or broken object level authorization, is not a parsing bug or a transport issue, it is an authorization failure at the object boundary. The application accepts an identifier for a record, file, order, or API resource and then returns that object without confirming that the caller is allowed to access it.
This is why BOLA often appears in otherwise healthy systems, especially where the backend assumes a user owns the object they asked for. The weakness sits in the server-side decision, not in the client request itself, so a seemingly ordinary lookup can become cross-account data exposure.
Why BOLA Is Dangerous
BOLA is dangerous because the attacker does not need to bypass authentication, only object ownership checks. If one predictable identifier can expose another customer’s record, the result can be horizontal privilege abuse, privacy leakage, and unauthorised changes to business data.
The problem becomes more severe in multi-tenant applications and APIs with direct object references, because a single missing check can expose many records at once. Authorisation models matter here because RBAC alone does not guarantee object-level enforcement, and ownership, tenancy, or policy context still has to be validated on each request.
How Organisations Spot Exposure
Exposure review starts with inventorying the endpoints, screens, and workflows that accept object identifiers and return sensitive data. That includes REST and GraphQL APIs, bulk export functions, order histories, document portals, and support tools that let one user reach another user’s object through a changed ID.
Teams usually confirm risk by testing whether access is enforced server-side for each object, not just for the surrounding route. The most useful checks are targeted tests against a representative set of objects, review of vendor and framework guidance, and validation that every access path, including internal or administrative ones, applies the same ownership logic.
For API-heavy environments, the attack surface is often broader than teams expect, so API inventory and endpoint discovery are part of the exposure picture. API security guidance helps place BOLA in the wider context of exposed resources, authentication, authorisation, and API lifecycle control.
Remediation, Detection and Review After Exploitation
Remediation means enforcing object-level checks on the server for every sensitive read, update, delete, and export action. Strong fixes usually combine ownership validation, tenant context, indirect references where useful, and deny-by-default logic for objects that the caller does not explicitly control.
When a full fix cannot be deployed immediately, compensating controls include tighter endpoint exposure, rate limiting, stronger monitoring on sensitive resource access, and temporary removal of high-risk object paths. OWASP API Top 10 API1 Broken Object Level Authorization Guide is useful for understanding detection metrics, scoped queries, and testing patterns that reveal weak object checks.
After suspected exploitation, teams should review whether the attacker only read data or also changed records, orders, or permissions, then trace which objects were accessed and whether any sessions, tokens, or downstream integrations were abused. API security checklist is a practical companion for post-fix verification because BOLA often reappears in later releases if object checks are not tested continuously.
Why BOLA Keeps Reappearing
BOLA is persistent because teams often validate the UI and the login flow, but not the authorisation decision on each object. It also tends to hide in reused service code, shared handlers, and convenience shortcuts where the application trusts a caller’s claimed identifier instead of deriving access from policy and ownership.
The safest mental model is that every object fetch is a security decision. If the server cannot prove the caller’s right to that exact object, the request should fail, even when the user is otherwise authenticated and otherwise legitimate.
Risk and Threat Considerations
BOLA creates direct exposure because a low-privilege user can often enumerate identifiers and pivot from one object to another until they reach data that belongs to someone else. In API environments, this can become a silent cross-account data breach rather than a noisy intrusion.
Failure mechanism: The application trusts the requested object identifier and skips a server-side ownership, tenancy, or policy check before returning the resource.
Impact: Attackers may read, alter, or delete records across accounts, undermining confidentiality, integrity, and tenant isolation at the same time.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
OWASP API Security Top 10 addresses the attack and risk surface, while NIST SP 800-53 Rev 5, OWASP ASVS and CIS Controls v8 set the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| OWASP API Security Top 10 | API1 — Broken Object Level Authorization | BOLA is the API1 object-authorisation failure this term names. |
| Recommendation — Enforce object-level checks so each API request is authorised for the specific resource requested. | ||
| NIST SP 800-53 Rev 5 | AC-3 — Access Enforcement | BOLA is a failure to enforce authorisation on the specific object being accessed. |
| AC-6 — Least Privilege | BOLA is easier to exploit when callers have broader resource access than they need. | |
| Recommendation — Apply AC-3 to deny object access unless policy explicitly permits that resource. Limit object access paths so users and services can only reach the data they require. | ||
| OWASP ASVS | V8 — Authorization | ASVS authorization requirements directly address object-level checks on sensitive resources. |
| Recommendation — Verify that every sensitive object request is authorised server-side before returning data. | ||
| CIS Controls v8 | CIS-6 — Access Control Management | BOLA reflects weak control over who can reach specific data objects and business resources. |
| Recommendation — Review and restrict access to objects and resources according to business need. | ||
Practitioner Guidance
Why practitioners should care: Treat BOLA as a design and verification problem, not just a penetration-test finding. The key judgement is whether every object-access path enforces the same authorisation rule, regardless of client, channel, or code path.
What to watch for: Focus on any endpoint that accepts user-supplied identifiers for profiles, orders, invoices, files, tickets, or API resources. If the backend can return another user’s object by changing only the identifier, the control is incomplete.
Practitioner takeaway: Test object-level access continuously, because once BOLA exists in one workflow it often exists in the neighbouring ones too.
Related resources from NHI Mgmt Group
Deepen Your Knowledge
Free weekly newsletter
Subscribe to the NHI & AI Identity Journal
The latest on NHI and Agentic AI security – articles, research, breaches, news and events every week.
Bonus 33% off our NHI Course when you subscribe.
Reviewed and updated by the NHIMG editorial team on November 9, 2026.
NHI Mgmt Group — the #1 independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org