Security

OWASP Top 10:2025 Explained: What Changed, What It Means for Your Web App, and What to Fix First

Security Misconfiguration jumps to #2, Software Supply Chain Failures arrive at #3, SSRF is folded into Broken Access Control, and a new category covers how apps fail under stress.

TL;DR The OWASP Top 10:2025 keeps Broken Access Control at #1 (now including SSRF), moves Security Misconfiguration to #2, adds Software Supply Chain Failures at #3 and introduces Mishandling of Exceptional Conditions at #10. For most teams, the fastest wins are configuration hardening, dependency hygiene and server-side authorization checks.

OWASP Top 10 2025 categories listed from broken access control to exceptional conditions

The OWASP Top 10 is the most widely used list of critical web application security risks, and the reference point for most security questionnaires, penetration-test reports and compliance checklists. The 2025 edition is the first update since 2021. It reflects two shifts: attackers going after configuration and dependencies rather than code alone, and applications that fail in unsafe ways when something unexpected happens.

The OWASP Top 10:2025 list

#2025 categoryChange from 2021
A01Broken Access ControlStill #1, now also covers Server-Side Request Forgery (SSRF)
A02Security MisconfigurationUp from #5
A03Software Supply Chain FailuresNew: expands "Vulnerable and Outdated Components"
A04Cryptographic FailuresDown from #2
A05InjectionDown from #3 (includes XSS)
A06Insecure DesignDown from #4
A07Authentication FailuresRenamed from "Identification and Authentication Failures"
A08Software or Data Integrity FailuresSame position
A09Security Logging and Alerting FailuresRenamed to stress alerting, not just logging
A10Mishandling of Exceptional ConditionsNew category

Always check the official list at owasp.org for the final wording and the mapped CWEs. This article focuses on what the changes mean in practice.

What actually changed, and why it matters

Security Misconfiguration moved to #2

Modern apps are mostly configuration: cloud storage permissions, CDN rules, CORS, response headers, debug flags, default admin panels. One wrong setting exposes more than one bad line of code. This is also the cheapest category to fix. Missing HSTS, an absent Content-Security-Policy, permissive CORS and verbose error pages all show up in a five-minute scan. Run your production domain through the free ZetsApp Website Security Audit to see your browser-facing configuration graded in seconds.

Software Supply Chain Failures is a new #3

The 2021 list warned about outdated components. 2025 widens that to the whole chain: package registries, build pipelines, CI secrets, CDN-hosted scripts and the AI coding assistants that suggest dependencies. Practical controls:

  • Lock files committed and enforced (npm ci, not npm install, in CI).
  • Automated dependency alerts (Dependabot, Renovate, npm audit, dotnet list package --vulnerable).
  • Subresource Integrity hashes on every versioned CDN script.
  • A software bill of materials (SBOM) generated at build time.
  • Verifying that packages an AI assistant suggests actually exist and are the real ones. "Slopsquatting" attackers register package names that models commonly hallucinate.

SSRF folded into Broken Access Control

Server-side request forgery, where an attacker makes your server fetch an internal URL such as a cloud metadata endpoint, is now treated as an access-control failure. That is the right framing: the server is acting on a resource the user should never reach. If your app fetches user-supplied URLs (link previews, webhooks, importers, "scan my site" tools), resolve the host yourself and refuse private, loopback, link-local and metadata IP ranges at connect time, not only when you parse the URL. Otherwise DNS rebinding gets around the check.

Mishandling of Exceptional Conditions is new at #10

This category covers apps that do not prevent, detect or respond correctly to unusual situations: unhandled exceptions that leak stack traces, logic that fails open (a permission check that returns "allowed" when the policy service times out), partial transactions left half-applied, and resource exhaustion. The fix is mostly discipline: fail closed, use global exception handlers that return generic messages, wrap multi-step writes in transactions, and set timeouts and size limits on every external call.

A fix-first plan for small and mid-size teams

  1. This week, configuration (A02): security headers, TLS, cookie flags, CORS allow-list, disable directory listing and debug output. Mostly one-line changes.
  2. This month, access control (A01): make sure every API endpoint checks that this user may act on this record (no IDOR), deny by default, and add tests for it.
  3. This month, supply chain (A03): turn on dependency alerts, pin and hash CDN scripts, and lock down CI secrets.
  4. This quarter, alerting and exceptions (A09, A10): alert on repeated auth failures and 5xx spikes, and review the code paths that fail open.

How OWASP maps to compliance

ISO 27001 auditors, SOC 2 assessors and PCI DSS 4.0 (requirement 6) all expect you to address the OWASP Top 10 or an equivalent. Showing a recent scan, a dependency policy and an access-control test suite covers most of the evidence they ask for.

ZetsApp builds secure-by-default web apps and hardens existing ones as part of our custom software development and DevOps services. If you are building with AI coding tools, read our vibe-coding security checklist too.

Frequently asked questions

What is new in the OWASP Top 10 2025?

Two new categories (A03 Software Supply Chain Failures and A10 Mishandling of Exceptional Conditions), Security Misconfiguration rising to #2, SSRF merged into A01 Broken Access Control, and A09 renamed to Security Logging and Alerting Failures.

What is the number one OWASP risk in 2025?

Broken Access Control: users being able to view or change data or functions they should not, now including server-side request forgery.

Is XSS still in the OWASP Top 10?

Yes. Cross-site scripting is part of A05 Injection. A strict Content-Security-Policy and framework output encoding are the main defences.

How do I test my website against the OWASP Top 10?

Combine an automated configuration scan (such as the ZetsApp Website Security Audit) for misconfiguration and supply-chain signals with dependency scanning in CI and a manual penetration test for access control and business logic.

Tags
OWASPWeb SecurityAppSecSupply ChainDevSecOps
Share this article