API Security in 2026: Common Vulnerabilities We Still See
Why APIs keep failing in the same ways, and how to fix it.
The volume of API traffic on the public internet now exceeds traditional web traffic by a significant margin, and most modern applications are, structurally, collections of APIs with thin user interfaces glued on top. Yet the security maturity of APIs lags well behind that of the web applications they have replaced. The flaws we report in 2026 look strikingly similar to the flaws we reported in 2022 — and they continue to lead to the largest data breaches in the public record.
This article covers why APIs fail differently from traditional web applications, the categories of vulnerabilities that remain stubbornly common, and what a credible API security baseline looks like. The framing assumes you already build and ship APIs at some scale and are trying to work out where to put effort that produces real risk reduction.
Why APIs fail differently to web apps
Traditional web application security is dominated by injection-class issues — SQL injection, cross-site scripting, server-side template injection. These remain real, but APIs largely fail in a different way. The dominant failure mode for APIs is authorisation, not injection.
The reason is structural. A web application typically renders pages, which means the server is at least implicitly choosing what to expose. An API exposes data and operations directly, usually trusting the caller to ask only for what they should see. When that trust is misplaced, the consequences are immediate and machine-readable. There is no rendering layer that quietly leaves things out.
A few characteristics make APIs particularly vulnerable:
- High discoverability of objects. APIs accept identifiers — /users/123, /orders/45678 — and respond with the corresponding data. Iterating identifiers is trivial.
- Implicit trust in clients. Many APIs were designed assuming “the mobile app” or “the front end” is calling them. Real attackers replace those clients with arbitrary tooling and ignore client-side restrictions.
- Schema sprawl. API surfaces grow rapidly. Undocumented endpoints, deprecated v1 versions still in production, and “internal” APIs reachable from the public internet are routine.
- Token-based authentication complexity. OAuth, OIDC and JWT introduce their own failure modes — algorithm confusion, missing audience checks, overly long-lived tokens, and so on.
The OWASP API Security Top 10 is now the most useful reference framework in this space, and the 2023 edition remains current. The categories below map directly to it.
Common API security vulnerabilities
A small set of issues account for the majority of high-impact API findings.
Broken Object Level Authorisation (BOLA). Still the single most common — and most serious — API vulnerability. The API correctly authenticates the user, then trusts the object identifier in the request. User A requests /api/orders/12345 and receives user B’s order. BOLA is so common because the fix has to live in every endpoint that accepts an object identifier, and developers regularly assume that an authenticated session is sufficient.
Broken Function Level Authorisation (BFLA). The same problem at the function level. An ordinary user can call an administrative endpoint because the API only checks “is the user logged in”, not “does this user have permission to call this function”. Often surfaces when an internal admin UI calls a documented API path and a curious user notices.
Excessive data exposure. The API returns more information than the consuming client needs and relies on the client to display only the relevant fields. Anyone reading the raw response sees everything. Mobile applications are particularly prone to this pattern.
Missing rate limits and resource controls. APIs are easy to enumerate when they accept unlimited requests. Password spraying, credential stuffing, BOLA enumeration and pricing extraction all depend on the absence of rate limiting.
Server-side request forgery and unsafe object reflection. APIs that accept URLs, file paths or object references from the caller and use them server-side are routinely tricked into making internal requests they should not.
Authentication weaknesses. JWT verified without checking the signature algorithm, refresh tokens that never expire, password reset flows reachable without rate limits, and OAuth scopes too broad to be meaningful.
Undocumented and forgotten endpoints. The most interesting endpoints in a typical API are the ones not in the documentation. Old versions, internal debug endpoints and partner-only paths that were never gated continue to surface regularly.
What good API security looks like
A credible API security baseline has a small number of non-negotiable elements, and a great deal of disciplined practice on top. The non-negotiables:
- Strong server-side authorisation on every object access. Every endpoint that accepts an identifier must check that the authenticated principal has permission to access that specific object. Defence-in-depth at the data access layer beats per-endpoint logic.
- Strict schema enforcement. Define the request and response schema for every endpoint, then enforce it. Reject requests with unexpected fields. Return only the fields you defined.
- An accurate API inventory. You cannot secure what you cannot list. Inventory should include version, owner, classification, authentication method and public reachability. Maintain it continuously.
- Authentication you can reason about. Short-lived tokens, audience-bound JWTs, signature algorithm fixed at the server, MFA enforcement at the identity provider, and a defined token revocation path.
- Rate limits and anomaly detection. Per-IP, per-account and per-endpoint limits as a baseline; behavioural anomaly detection on top where stakes are high.
- Specification-driven testing. Test against the OpenAPI specification on every build. Tools such as 42Crunch, Schemathesis and APIsec can automate large portions of this.
Beyond the baseline, the difference between mature and immature API programmes comes down to two things: ownership and observability. Every API has a named owner who is accountable for its security; every API produces structured logs that a defender can actually use during an incident.
Frequently asked questions
What is BOLA in API security?
Broken Object Level Authorisation is the failure of an API to verify that the authenticated user has permission to access the specific object referenced in the request. It is the OWASP API #1 risk and the most common high-impact API finding.
Is the OWASP API Top 10 still relevant?
Yes. The 2023 edition is current and remains the most useful framework for understanding common API failure modes.
Do mobile apps need separate API security testing?
The API behind a mobile app should be tested as an API, not as a mobile app. Client-side restrictions in the mobile app cannot be relied upon. Test the API directly with arbitrary clients.
How is API testing different from web app testing?
API testing focuses much more heavily on authorisation, schema enforcement and rate limiting. Injection-class issues remain in scope but are no longer the dominant failure mode.
