OWASP API Top 10
The 10 most critical API security risks. If your app has an API (and it probably does), these are the vulnerabilities you need to check first.
10 vulnerabilities
Broken Object Level Authorization (BOLA)
highAPI endpoints don't verify that the requesting user owns the resource they're accessing — allowing attackers to access other users' data by changing object IDs.
Broken Authentication (API)
highAPI authentication mechanisms are weak or improperly implemented — JWT without proper validation, tokens not in httpOnly cookies, or missing token expiration.
Broken Object Property Level Authorization
mediumAPI allows users to read or modify object properties they shouldn't have access to — mass assignment, excessive data exposure, or missing field-level access control.
Unrestricted Resource Consumption
mediumAPI endpoints without rate limiting, pagination, or resource limits — allowing attackers to exhaust server resources, rack up costs, or extract large datasets.
Broken Function Level Authorization
highAdmin or privileged API endpoints accessible to regular users — missing role checks allow privilege escalation to administrative functions.
Unrestricted Sensitive Flows
mediumBusiness-critical flows like registration, password reset, or purchase lack bot protection such as CAPTCHA, rate limiting, or device fingerprinting.
Server-Side Request Forgery (SSRF) in API
highThe API fetches a URL provided by the user without validation, allowing attackers to probe internal services, cloud metadata endpoints, or private networks.
Security Misconfiguration (API)
mediumAPIs expose excessive information through open CORS policies, verbose error messages, missing security headers, or default configurations that were never hardened.
Improper Inventory Management
lowMultiple API versions remain active without documentation or deprecation, leaving old endpoints with known vulnerabilities accessible to attackers.
Unsafe API Consumption
mediumYour API blindly trusts responses from third-party APIs without validation, allowing attackers to exploit upstream services to compromise your application.