Join our Newsletter — 33% off our NHI Course
Home FAQ Cyber Security What is the difference between BOLA and BFLA…
Cyber Security

What is the difference between BOLA and BFLA in API security testing?

← Back to all FAQ
By NHI Mgmt Group Editorial Team Updated August 24, 2026 Domain: Cyber Security

BOLA, or Broken Object Level Authorization, happens when a user can access another user’s object, such as an order or record, without permission. BFLA, or Broken Function Level Authorization, happens when a user can call a function they should not have, such as an admin-only delete operation. Both are authorization failures, but they affect different control points.

Why This Matters for Security Teams

BOLA and BFLA are easy to confuse during API testing because both look like simple authorization failures, but they expose different layers of control. BOLA sits at the object boundary, where the application must decide whether the requester can read or change a specific record. BFLA sits at the action boundary, where the application must decide whether the requester is allowed to invoke a given function at all. That distinction matters because the fix, the test case, and the blast radius are different.

Security teams often miss BOLA when they test only happy-path API calls with valid sessions, or they miss BFLA when they assume “authenticated” means “authorised.” The operational risk is not limited to data leakage. BOLA can expose customer records, invoices, case files, or machine identities tied to API access. BFLA can expose administrative actions such as deletion, escalation, or policy changes. The control expectations align with broader access governance in the NIST Cybersecurity Framework 2.0, especially where least privilege and continuous validation are concerned.

In practice, many security teams encounter BOLA only after an object ID is guessed or enumerated, rather than through intentional authorization design.

How It Works in Practice

API testers usually distinguish BOLA from BFLA by asking one question: is the issue about which object is being accessed, or which operation is being performed? BOLA often appears in endpoints that take identifiers in the path, query string, or body, such as /orders/12345 or customer_id=88. If the server trusts that identifier without verifying ownership or delegated access, a user may retrieve or modify another user’s data. BFLA usually appears when a role or token can invoke an action that should be restricted, such as /admin/deleteUser or /billing/exportAll, even though the caller should only have standard user rights.

Effective testing combines role changes, parameter tampering, and endpoint mapping. A practical sequence is:

  • Compare responses from two accounts with different scopes, roles, or tenants.
  • Change object identifiers and confirm whether ownership checks are enforced server-side.
  • Call privileged functions directly, not only through the UI, to detect hidden admin paths.
  • Test whether verbose errors, predictable IDs, or weak UUID handling make enumeration easier.
  • Check whether the same endpoint enforces authorization consistently across GET, POST, PUT, PATCH, and DELETE methods.

For defenders, the right control pattern is defense in depth: object-level checks in the business logic, function-level checks on every privileged route, and central policy enforcement where practical. Guidance from OWASP API Security Top 10 remains highly relevant here, especially for broken authorization classes and access control failures. Mature teams also align API gateways, application code, and logging so that authorization failures are visible in telemetry rather than hidden inside generic 403 responses. These controls tend to break down when microservices own their own authorization rules without a shared policy model, because trust boundaries become inconsistent across services.

Common Variations and Edge Cases

Tighter authorization often increases implementation overhead, requiring organisations to balance developer speed against the risk of inconsistent policy enforcement. That tradeoff becomes sharper in multi-tenant SaaS, partner APIs, and agent-driven workflows, where the same request may be initiated by a person, a service account, or a non-human identity. The control question is not only “who authenticated?” but “who is allowed to act on this object or invoke this capability?”

There is no universal standard for handling every edge case, but current guidance suggests treating object ownership and function entitlement as separate checks. A service can be fully authorised for one customer context and still be forbidden from cross-tenant access, bulk export, or administrative operations. This matters in delegated administration, where help desk users, integrators, or AI agents may need limited elevation without inheriting broad control. In those environments, BFLA often surfaces faster than BOLA because function abuse is easier to spot, while BOLA can remain hidden until a tenant boundary is crossed.

For testing, the edge cases worth prioritising are indirect object references, partial updates, batch endpoints, and asynchronous jobs that act later under stored credentials or tokens. Those patterns frequently blur the line between object access and function execution, so the safest approach is to test both. For broader governance, the NIST Cybersecurity Framework 2.0 and OWASP API Security Top 10 provide a practical baseline, but teams should document any exceptions where legacy APIs or event-driven systems cannot enforce uniform authorization at every layer.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

OWASP Agentic AI Top 10 and OWASP Non-Human Identity Top 10 address the attack and risk surface, while NIST CSF 2.0 set the governance and control requirements practitioners need to meet.

FrameworkControl / ReferenceRelevance
NIST CSF 2.0PR.ACBOLA and BFLA are both authorization control failures.
OWASP Agentic AI Top 10A01Authorization flaws also affect AI agents calling privileged APIs.
OWASP Non-Human Identity Top 10NHI-ACAPI tokens and service identities need object and function scoping.

Constrain agent tool use with explicit action permissions and scoped approvals.

NHIMG Editorial Note
Reviewed and updated by the NHIMG editorial team on August 24, 2026.
NHI Mgmt Group — the #1 independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org