Introduction
APIs have become the backbone of almost every digital product we use today. They power banking apps, online stores, ride-hailing services, health systems, and enterprise tools. Because they handle sensitive information, attackers often treat APIs as a direct gateway into an organisation’s data. We’re talking about Broken Object Level Authorization (BOLA).
One of the most damaging mistakes in API design is Broken Object Level Authorization (BOLA). It appears when an API does not confirm whether a user should access a specific object. As a result, attackers manipulate an ID or parameter and retrieve data that belongs to someone else. The attack sounds simple, yet it remains the number one API risk in the OWASP API Security Top 10.
BOLA matters now more than ever. API adoption continues to grow, and so does the amount of data they expose. Therefore, understanding how BOLA works helps organisations protect customer data and reduce unnecessary risk.
This beginner-friendly guide explains BOLA in a clear way, even if you aren’t a security expert.

What Is Broken Object Level Authorization (BOLA)?
Broken Object Level Authorization (BOLA) is a vulnerability where an API fails to check whether a user has permission to access a specific object. An object can be anything: a user profile, an invoice, a transaction, a message, or any record stored in the backend.
When an API relies on object IDs like /user/101 or /order/5002, the system expects the user to request only the objects they own. However, if the API does not validate authorization, attackers change the ID and access someone else’s information.
Let’s look at a simple example:
GET /api/user/101
This request retrieves account data for user 101. Now imagine the attacker modifies the ID:
GET /api/user/102
…and the API returns someone else’s data, that’s BOLA.
It’s important to understand the difference between authentication and authorization:
- Authentication confirms who you are
- Authorization confirms what you’re allowed to access
BOLA occurs when an API only checks the first one and ignores the second.
For reference, OWASP lists BOLA as the #1 API security risk because of how common and impactful it is https://owasp.org/API-Security/editions/2023/en/0x11-t10/ .
How BOLA Works
Let’s walk through the attack flow :
A user signs into an app
The system confirms their identity and issues a valid token.
The user requests data
They make a request such as:
GET /api/orders/415
The API returns their order information as expected.
The attacker changes the object ID
The request is easy to modify. The attacker edits the ID to test the system:
GET /api/orders/416
This slight change often requires no technical skill.
The API checks login but ignores authorization
Many APIs verify the token but skip verifying object-level access.
As a result, the attacker receives data that does not belong to them.
Sensitive information is exposed
Depending on the API, the attacker may see:
- Personal details
- Order history
- Private documents
- Financial transactions
- Addresses or location data
Although the attack seems simple, the impact can grow quickly.
Why It’s Growing / Why It Matters Now
BOLA has existed for years, yet it appears more often today. Several trends contribute to its rise.
APIs now power almost all modern systems
More APIs mean more endpoints, and therefore, more chances for incorrect authorization.
Development teams move fast
Companies prioritise features and speed. Consequently, security checks sometimes fall behind.
Microservices increase complexity
Each service handles authorization differently. Inconsistency leads to mistakes.
Predictable IDs make guessing easy
IDs like /user/1, /user/2, /order/1001 encourage ID manipulation.
Mobile apps reveal API patterns
Attackers learn how APIs behave simply by inspecting the mobile traffic.
Authorization logic is hard to centralise
Many teams place authorization inside each endpoint instead of building a unified system.
This increases the risk of missing checks.
Real-World Example
Imagine a popular fitness app that tracks your daily workouts. When you open the app, it sends a request to load your data:
GET /api/workout/8921
A researcher decides to test something simple. They change the ID:
GET /api/workout/8922
Surprisingly, the response reveals another user’s workout statistics. It includes:
- Distance covered
- Location routes
- Heart rate data
- Start and end times
This accidental exposure shows how personal information can leak without any advanced attack. A tiny oversight in authorization exposes sensitive behavioural and health data.
BOLA issues have appeared in ride-sharing apps, banking apps, student portals, healthcare systems, and government platforms. The pattern stays the same: a predictable ID plus a missing authorization check equals a serious breach.
Types of BOLA Attacks / Variations
Although the core idea remains consistent, attackers use different techniques to exploit BOLA.
Direct object ID manipulation
They change an ID in the URL or request body.
Automated enumeration
Attackers use scripts to test thousands of IDs rapidly.
Hidden parameter changes
They modify parameters that apps try to hide on the frontend.
Exploiting encoded or hashed IDs
Encoding does not equal security. Many encoded identifiers can be reversed.
Abusing mass assignment features
This happens when an API allows updating objects without validating which fields are allowed.
Why This Attack Is Hard to Detect
BOLA often slips past detection because the traffic looks normal.
Requests appear legitimate
The attacker sends ordinary GET or POST requests.
The user is authenticated
Security tools assume authenticated users behave correctly.
No unusual patterns appear
The attacker tweaks one value at a time.
Basic firewalls cannot detect logic flaws
Traditional security tools focus on injection attacks, not authorization mistakes.
Logs show normal activity
Unless a team monitors object access closely, alerts never trigger.
Impact on Businesses / Individuals
BOLA creates serious consequences for organisations and users.
For Businesses
- Exposure of customer information
- Loss of trust and reputation
- Expensive legal and compliance penalties
- Risk of fraud or account takeover
- Higher operational costs for investigation and recovery
- Interruption to business services
- Increased pressure from regulators and customers
For Individuals
- Loss of personal data privacy
- Identity theft risks
- Exposure of financial or medical details
- Location tracking leaks
- Unauthorised access to messages, documents, or records
- Psychological stress from privacy violations
How to Protect Yourself / Best Practices
These best practices help significantly reduce the risk of BOLA:
Validate authorization on every request
Always check whether the user owns the object they request.
Use strong role-based access control (RBAC)
Assign permissions carefully and review them regularly.
Avoid predictable identifiers
Use UUIDs or randomised IDs when possible.
Limit the data returned by the API
Expose only what the user needs to see.
Centralise your authorization logic
A unified approach reduces mistakes across microservices.
Test APIs thoroughly
Include BOLA checks in penetration tests and automated scans.
Log object access attempts
Unusual requests help detect attacks early.
Protect mobile and IoT clients
Don’t rely on client-side validation for anything sensitive.
Educate developers
Clear understanding of authorization helps prevent mistakes at the coding stage.
Document access rules clearly
Teams work faster and safer when rules are easy to follow.
Conclusion
Broken Object Level Authorization (BOLA) remains the most significant API security risk. Although the vulnerability seems simple, it can expose sensitive data, damage trust, and disrupt operations. As APIs continue to grow, organisations must treat authorization as a core part of development, not an afterthought.
By implementing strong access checks, limiting unnecessary data exposure, and regularly testing APIs, companies can dramatically reduce the risk of BOLA. At eSHIELD IT Services, we help businesses build safer digital environments through modern cybersecurity practices and real-world expertise.
Protecting your API today means protecting your users tomorrow.
FAQ
What is BOLA in an API?
It’s a vulnerability where users can access objects they do not own by changing an identifier.
Why is BOLA considered dangerous?
It leads to data exposure with minimal effort from attackers.
Does authentication prevent BOLA?
No. Authorization, not authentication, stops BOLA.
Can BOLA occur in mobile apps?
Yes. Mobile apps rely on APIs, so the risk remains the same.
Does switching to UUIDs fix BOLA?
It helps, but strong authorization checks are still required.
Can BOLA cause financial loss?
Yes. It exposes orders, payments, or transaction details.
How do attackers discover BOLA?
They usually change an object ID to test the system.
Are microservices more vulnerable to BOLA?
Yes. They often use inconsistent authorization rules.
Can BOLA lead to account takeover?
It can. Access to private data helps attackers escalate attacks.
Who should fix BOLA issues?
Both development and security teams must work together.


