Skip to content
Breachfolio
OWASP Top 10 (2025): quick reference.
RESOURCES · CHEAT SHEET

OWASP Top 10 (2025): quick reference.

The current edition, in plain language – what changed from 2021, and what each category actually means for your codebase.

July 10, 20268 min readDaniel A. & Óscar S.

If the list you're using still starts with "Broken Access Control, Cryptographic Failures, Injection..." in the 2021 order, it's out of date. OWASP Top 10:2025 is the current edition, and the reshuffle isn't cosmetic – categories moved, one was merged into another, and a brand-new category appeared for the first time. Here's the full list with what it means in practice, not just the name.

The 2025 list

RankCategoryWhat it means2025 note
A01Broken Access ControlRoughly 1 in 27 tested applications has at least one of the 40 CWEs in this category. Server-Side Request Forgery (SSRF) is now folded in here.Still #1, same as 2021.
A02Security MisconfigurationDefault credentials, verbose error pages left on in production, unnecessary features enabled, missing security headers – the boring stuff that turns out to matter most.Jumped from #5 (2021) to #2.
A03Software Supply Chain FailuresCompromised npm packages, poisoned build pipelines – not just an old library version.An expansion of 2021's Vulnerable and Outdated Components.
A04Cryptographic FailuresWeak or missing encryption for data in transit and at rest, hardcoded keys, outdated algorithms still in production.
A05InjectionSQL, NoSQL, OS command, and template injection.The classic category, now without SSRF sitting inside it.
A06Insecure DesignMissing threat modeling, no security requirements gathered up front. See our STRIDE walkthrough for how to catch this earlier.Risk baked in before a line of code is written.
A07Authentication FailuresWeak password policies, missing multi-factor authentication, session tokens that don't expire when they should.
A08Software or Data Integrity FailuresTrusting updates, plugins, or CI/CD pipelines without verifying their integrity.Behind several high-profile supply-chain compromises.
A09Security Logging and Alerting FailuresBreaches that go undetected for months because nothing was logged, or logs existed but nobody was watching.
A10Mishandling of Exceptional Conditions24 CWEs covering improper error handling, logic errors, and systems that "fail open" – granting access or skipping a check when something goes wrong instead of denying by default.Brand new for 2025, with 24 CWEs.
Horizontal bar chart ranking the ten OWASP Top 10:2025 categories from A01, the most critical with the widest bar, down to A10, the newest category, illustrating relative severity.
The ten OWASP Top 10:2025 categories, ranked by severity – A01 remains the most critical, A10 is brand new.

What actually changed from 2021

Three things are worth internalizing if you learned the 2021 list: Security Misconfiguration got much more dangerous relative to everything else (#5 → #2), Vulnerable Components grew into the broader Supply Chain Failures category to reflect real incidents in build tooling and package registries, and Mishandling of Exceptional Conditions is genuinely new territory – it's about what your code does when something goes wrong, not what it does when everything goes right.

This isn't the same list as the LLM Top 10

OWASP maintains a separate Top 10 for LLM Applications, and the two get confused constantly because they share a publisher and a format. The web application list above assumes a traditional client-server app with a database behind it; the LLM list assumes a model that reads untrusted text and sometimes acts on it. Prompt injection: the LLM list's #1 entry – doesn't map cleanly onto any single category here, though it shares DNA with both A05 (Injection) and A06 (Insecure Design): it's an injection-shaped problem that ordinary input validation can't fully solve, which is exactly the kind of gap threat modeling is supposed to catch before it ships. If you're building a product that's a normal web app with an LLM feature bolted on – which describes most AI products in 2026 – you need both lists, not one instead of the other.

How to actually use this list

The Top 10 is a prioritization tool, not a checklist you tick once. Map each category against your own application during a threat-modeling pass, test the ones most relevant to your stack with tools like Burp Suite or OWASP ZAP, and revisit the mapping whenever you add a new dependency, a new auth flow, or a new integration – that's usually where the next entry on this list quietly shows up.

A concrete way to start: pick the three categories most likely to bite your specific stack – for a typical SaaS product that's usually A01 (Access Control), A02 (Misconfiguration), and A03 (Supply Chain) – and spend a focused afternoon on each rather than trying to audit against all ten at once. Depth on the categories that actually apply to you beats a shallow pass across all ten.

A note on scope. This is a defensive reference summary. For the authoritative full text, CWE mappings, and methodology, always check the official OWASP Top 10:2025: this page is a starting point, not a replacement for it.

Frequently asked questions

What is new in the OWASP Top 10:2025 list?
A10 – Mishandling of Exceptional Conditions is a brand-new category covering improper error handling, logic errors, and systems that fail open. Server-Side Request Forgery (SSRF) was folded into Broken Access Control instead of standing alone, and 2021's Vulnerable and Outdated Components expanded into the broader Software Supply Chain Failures category.
What is #1 on the OWASP Top 10:2025?
Broken Access Control is still #1, as it was in 2021. Roughly 1 in 27 tested applications has at least one of the 40 CWEs in this category.
Is the OWASP Top 10 the same as the OWASP Top 10 for LLM Applications?
No. The web application Top 10 assumes a traditional client-server app with a database behind it, while the separate LLM Top 10 assumes a model that reads untrusted text and sometimes acts on it. They share a publisher and format, which is why they're often confused, but prompt injection – the LLM list's #1 entry – doesn't map cleanly onto any single web-app category, though it shares traits with both Injection and Insecure Design.
How should the OWASP Top 10 actually be used?
As a prioritization tool, not a checklist ticked once. Map each category against your own application during a threat-modeling pass, test the ones most relevant to your stack, and revisit the mapping whenever you add a new dependency, auth flow, or integration.
Who writes this

Daniel A. and Óscar S. run Breachfolio, a small independent site about security and AI. This article was drafted with AI assistance and reviewed by a person before it went live. We write from documentation, vendor sources and published research rather than from original lab benchmarks, and we link a source in the sentence that relies on it. How we work · About us