Protection
8 min readUpdatedOWASP Top 10 2025: the full list, what changed and what a WAF covers
Quick answer
The OWASP Top 10:2025 is the eighth edition of OWASP's awareness list of the most critical web application security risks. In order: broken access control, security misconfiguration, software supply chain failures, cryptographic failures, injection, insecure design, authentication failures, software or data integrity failures, security logging and alerting failures, and mishandling of exceptional conditions. It replaced the 2021 list, added two categories and folded SSRF into access control.
01What is on the OWASP Top 10 2025 list?
The OWASP Top 10 is an awareness document: the Open Worldwide Application Security Project's ranking of the ten most critical risk categories in web applications, published since 2003 and now in its eighth edition. Each entry groups weaknesses from MITRE's CWE list rather than naming one bug: OWASP analysed 589 CWEs and mapped 248 into the ten categories.
The ranking is data-informed rather than purely data-driven. Contributors supplied test results for more than 2.8 million applications; OWASP took eight categories from that data and two from a community survey of practitioners, to capture risks that automated testing does not yet find.
| Rank | Category | What it means | Typical example |
|---|---|---|---|
| A01 | Broken Access Control | Users can act outside their permissions; includes CSRF and, since 2025, SSRF | Changing an account number in the URL shows another customer's account |
| A02 | Security Misconfiguration | Insecure defaults, needless features, verbose errors | A sample admin console left in production with its default password |
| A03 | Software Supply Chain Failures | Compromised or vulnerable dependencies, build systems and distribution | A malicious release of a trusted library, as in the XZ Utils backdoor |
| A04 | Cryptographic Failures | Missing, weak or misused cryptography | Unsalted password hashes exposed through a file upload flaw |
| A05 | Injection | Untrusted input executed by an interpreter, including SQL, OS commands and cross-site scripting | An id parameter that turns a database query into 'return every row' |
| A06 | Insecure Design | A control that was never designed, including business-logic flaws | A group-booking flow that lets a few requests reserve 600 seats without a deposit |
| A07 | Authentication Failures | Weaknesses that let attackers pass as someone else | Credential stuffing with leaked passwords against a login without MFA |
| A08 | Software or Data Integrity Failures | Code or data trusted without verifying it | Unsafe deserialisation, as in React2Shell |
| A09 | Security Logging and Alerting Failures | Attacks go unlogged, or are logged without anyone being alerted | A breach of health records that may have run for more than seven years |
| A10 | Mishandling of Exceptional Conditions | Errors that leave the system failing open or in an unknown state | A multi-step transfer that is not rolled back when one step fails |
02What changed from the OWASP Top 10 2021?
OWASP sums up the update as two new categories and one consolidation: server-side request forgery joined broken access control, vulnerable components grew into software supply chain failures, and mishandling of exceptional conditions is new. Misconfiguration rose from fifth to second, and three categories were renamed.
| 2021 | 2025 | Change |
|---|---|---|
| A01 Broken Access Control | A01 Broken Access Control | Still first; absorbs SSRF |
| A02 Cryptographic Failures | A04 Cryptographic Failures | Down two places |
| A03 Injection | A05 Injection | Down two places; still includes cross-site scripting |
| A04 Insecure Design | A06 Insecure Design | Down two places |
| A05 Security Misconfiguration | A02 Security Misconfiguration | Up three places |
| A06 Vulnerable and Outdated Components | A03 Software Supply Chain Failures | Broadened to builds, pipelines and distribution; ranked first by half of survey respondents |
| A07 Identification and Authentication Failures | A07 Authentication Failures | Renamed |
| A08 Software and Data Integrity Failures | A08 Software or Data Integrity Failures | Renamed |
| A09 Security Logging and Monitoring Failures | A09 Security Logging and Alerting Failures | Renamed to stress alerting |
| A10 Server-Side Request Forgery (SSRF) | Merged into A01 | No longer a separate category |
| Not listed | A10 Mishandling of Exceptional Conditions | New: 24 CWEs on error handling and failing open |
03Which OWASP Top 10 risks can a WAF stop?
A web application firewall at the edge sees each HTTP request before the application does, so it is strong where an attack shows in the request itself and weak where the flaw lives in logic, stored data or the build. The verdicts below assume a well-tuned edge WAF in front of an origin that cannot be reached directly.
| Category | Edge WAF | What the edge can do | The fix at the origin |
|---|---|---|---|
| A01 Broken Access Control | Partial | Block path traversal and requests for .git or backup files; strip internal headers from outside traffic, as for the Next.js middleware bypass | Deny by default and check ownership of every record on the server; test authorisation |
| A02 Security Misconfiguration | Partial | Add security headers, hide error pages, block known admin and debug paths | A repeatable hardening process; remove samples and default accounts |
| A03 Software Supply Chain Failures | Limited | Virtual-patch a published exploit pattern, as for Log4Shell, while the upgrade is rolled out | An SBOM, dependency monitoring, signed artefacts and staged rollouts |
| A04 Cryptographic Failures | Limited | Enforce current TLS and HSTS on the public side | Strong password hashing, encryption at rest, key management |
| A05 Injection | Strong, not complete | Block common SQL injection, command injection and script payloads | Parameterised queries, context-aware output encoding, no shell calls built from input |
| A06 Insecure Design | None | At most, rate-limit abuse of a flawed flow | Threat modelling, and business limits enforced in code |
| A07 Authentication Failures | Partial | Rate limits and bot challenges slow credential stuffing and password spraying | MFA, breached-password checks, sessions invalidated at logout |
| A08 Software or Data Integrity Failures | Limited | Block known deserialisation exploit payloads | Never deserialise untrusted data; sign updates; subresource integrity for third-party scripts |
| A09 Security Logging and Alerting Failures | Supporting | Log and alert on blocked attacks centrally | Log logins, failures and high-value actions, and alert on them |
| A10 Mishandling of Exceptional Conditions | Partial | Reject malformed and oversized requests | Fail closed, handle errors where they occur, roll back partial transactions |
04What an edge WAF can and cannot do
The pattern in the table is consistent: an edge WAF buys time and removes noise, while the lasting fix for every category, injection included, is in code, configuration or process. A web application firewall is worth having for what it does well, as long as nobody mistakes it for the fix.
- Can: inspect every request before it reaches the application, and apply a virtual patch within hours of a disclosure
- Can: reject malformed HTTP, rate-limit and challenge automated abuse, and log attacks centrally
- Cannot: see who owns a record, what a business rule should allow, or which libraries an application runs
- Cannot: fix code that fails open, stores passwords badly or deserialises untrusted data
- Cannot: protect an origin that attackers reach directly, so hide the origin address and accept traffic only from the proxy
05What risks sit just outside the top ten?
OWASP's Next Steps chapter for 2025 names three risks that did not make the list but deserve attention: X01 Lack of Application Resilience, X02 Memory Management Failures and X03 Inappropriate Trust in AI Generated Code, often called vibe coding.
X01 covers applications that cannot withstand stress, failures and edge cases, which OWASP says most commonly ends in availability problems: the home of denial of service, from HTTP floods to protocol abuse such as HTTP/2 Rapid Reset. X02 matters for software written in C and C++, such as web servers; OWASP notes it has the third most related CVEs, and heap overflows like NGINX Rift are the kind of flaw it describes.
06How should teams use the OWASP Top 10?
As a map of where to look, not a checklist to sign off. OWASP's own comparison recommends the Top 10 for awareness and entry-level training, and ASVS for architecture, coding standards, code review and every kind of testing.
- Map each category to the parts of the application it touches, starting with access control, configuration and dependencies
- Put dependency scanning and an SBOM into the build for A03, and subscribe to advisories for every component in use
- Include functional access-control checks in unit and integration tests, as OWASP recommends for A01
- Put an edge WAF in front for injection probes, automated login attacks and virtual patches, and log what it blocks
- Alert on failed logins, access-control failures and blocked attacks, so A09 is covered by people as well as logs
07OWASP Top 10 timeline
| Date | Event |
|---|---|
| 2003 | The first OWASP Top 10 is published |
| 2013 | Using Components with Known Vulnerabilities first appears, as A9; it is the ancestor of today's supply chain category |
| 2017 | The edition draws on about 30 CWEs |
| 2021 | The edition draws on almost 400 CWEs; Insecure Design is introduced |
| 6 November 2025 | The 2025 edition is presented as a release candidate at OWASP Global AppSec |
| 24 December 2025 | The release-candidate notice is removed and the 2025 edition becomes the site's default |
| October 2026 | The 2025 edition is current; this page was checked against it |
Questions
Frequently asked questions
Sources
Sources and verification
- 01OWASP Top 10:2025 Introduction · OWASP
- 02OWASP Top 10:2021 · OWASP
- 03A01:2025 Broken Access Control · OWASP
- 04A03:2025 Software Supply Chain Failures · OWASP
- 05A10:2025 Mishandling of Exceptional Conditions · OWASP
- 06Establishing a Modern Application Security Program (using the Top 10 as a standard) · OWASP
- 07Next Steps: X01 to X03 · OWASP
- 08The New 2025 OWASP Top 10 List: What Changed, and What You Need to Know · Fastly
- 09OWASP/Top10 commit: Remove RC notice (24 December 2025) · GitHub
- 10OWASP/Top10 commit: Update root redirect to point to 2025 version (24 December 2025) · GitHub
Last updated