Looking to modernize your security workflows?
The new Release Candidate for the OWASP Top 10 list for 2025 is here. For about two decades, developers, auditors, and CISOs have relied on this list to understand the most critical risks facing web applications.
But it's important to know what the list is. It is not a complete catalog of every possible vulnerability. Instead, it's a risk management tool that represents a broad consensus on the most critical threats. And it helps organizations prioritize where to focus their limited security resources.
This 2025 edition shows a clear evolution. The list is moving away from isolated coding errors and toward systemic, architectural failures. It reflects the growing complexity of modern software, especially with the shift to cloud-native and microservice architectures.
Here are the major changes from the last version:
- "Vulnerable and Outdated Components" has evolved into A03: Software Supply Chain Failures. This now covers the entire build and distribution ecosystem.
- A10: Mishandling of Exceptional Conditions is new. It highlights that how an application fails is just as critical as how it functions.
- Server-Side Request Forgery (SSRF) has been merged into A01: Broken Access Control, which remains the number one risk.
Here is the complete 2025 list at a glance.
This table shows each category's rank and the major changes from the previous version.
Rank |
Category |
Change |
|
A01 |
Broken Access Control |
Remains #1 |
|
A02 |
Security Misconfiguration |
Moved up from #5 |
|
A03 |
Software Supply Chain Failures |
Evolved & Moved up from #6 |
|
A04 |
Cryptographic Failures |
Fell from #2 |
|
A05 |
Injection |
Fell from #3 |
|
A06 |
Insecure Design |
Fell from #4 |
|
A07 |
Authentication Failures |
Remains #7 |
|
A08 |
Software or Data Integrity Failures |
Remains #8 |
|
A09 |
Logging & Alerting Failures |
Remains #9 |
|
A10 |
Mishandling of Exceptional Conditions |
New Addition |
Practical Breakdown of Each Risk (2025 OWASP Top 10)
Now, let's move beyond the list and look at what each of these 10 risks actually means. For each category, we will explain what it is, why it matters, and the single most important prevention tip.
A01: Broken Access Control
Broken Access Control is a flaw where an application fails to correctly enforce what a user is, or is not, allowed to do. Think of it like a hotel key card that accidentally opens every door, not just the one it is supposed to. This flaw matters because an attacker can act outside of their intended permissions. And this can lead to them viewing, editing, or deleting other users' data, or even escalating their privileges to become a full administrator. The single most important prevention tip is to implement a "default deny" policy. This means that by default, no user is granted access to anything, and permissions must be explicitly granted.
A02: Security Misconfiguration
This is a failure to securely configure an application, server, or cloud service, often by leaving unsafe default settings in place. It's like leaving the back door of your business unlocked with a sign that says "Employees Only." This is a critical risk because common mistakes, like using default passwords or leaving sensitive ports open, give attackers an easy entry point. And this can lead to data disclosure or a full system compromise. To prevent this, establish a repeatable hardening process. You should create a secure "golden image" or baseline configuration for all new systems, and remove or disable any features that are not absolutely necessary.
A03: Software Supply Chain Failures
This is a vulnerability that comes from a third-party component, library, or build process that an application trusts. It's like using a pre-packaged meal kit where one of the ingredients was tampered with before it got to you. Attackers are now targeting suppliers. Because of this, a single compromised library or CI/CD pipeline can be used to inject malware, steal data, or attack all of your customers at once. The best prevention is to maintain a Software Bill of Materials (SBOM). You must know exactly what third-party components are being used and have a process to continuously scan them.
A04: Cryptographic Failures
This is the failure to properly encrypt sensitive data, both when it's stored and when it's being sent. It's like sending a secret message in a "pig latin" code that everyone knows how to break. This category covers weak or outdated algorithms, but it also covers a simple lack of encryption. If a breach occurs, this failure means all sensitive data like passwords, PII, and credit card numbers is exposed in plain text. The key prevention tip is to encrypt all sensitive data in transit (using modern TLS) and at rest. Always use strong, industry-standard algorithms and ensure cryptographic keys are managed securely.
A05: Injection
An injection flaw is when an application interprets untrusted data from a user as part of a command or query. It's like a trick question on a form that gets the system to run a command it shouldn't. This classic attack, which includes SQL Injection and XSS, allows an attacker to trick the system into running malicious code. And this can be used to bypass authentication, steal user session data, or delete an entire database. The most effective prevention is to parameterize all queries. This is a programming technique that strictly separates the command from the data, which prevents the application from ever executing user data as a command.
A06: Insecure Design
Insecure Design refers to flaws in an application's architecture or logic. It is a category of risk that cannot be fixed by perfect code because the controls were never planned for in the first place. Think of it like building a bank vault with a thin drywall ceiling. It doesn't matter how strong the door is if the fundamental design is flawed. This matters because it leads to systemic weaknesses. And an attacker can often bypass security controls simply because the application's logic did not anticipate a specific threat. The best prevention is to integrate threat modeling and secure design patterns early in the development lifecycle, before a single line of code is written.
A07: Authentication Failures
This category covers failures in how an application identifies its users. It includes everything from weak password policies to improper session management. It's like having a security guard who accepts a blurry photo as a valid ID. These failures are critical because they allow attackers to trick systems into recognizing them as legitimate users. And this can lead to automated attacks like credential stuffing, brute-force password guessing, or the hijacking of valid user sessions. The key prevention is a strong, multi-layered approach. This includes enforcing multi-factor authentication (MFA) and ensuring that user sessions are properly invalidated after logout.
A08: Software and Data Integrity Failures
This flaw addresses the failure to verify the integrity of software, code, and data. The system incorrectly trusts code or data artifacts without proving they are from a legitimate source and have not been tampered with. This is like accepting a package from a delivery driver without checking their ID or seeing if the security seal on the box is broken. This is a growing threat. Because of this, attackers can use it to inject malicious updates, upload tampered data, or execute untrusted code. The best prevention is to digitally sign all software updates. And you must always verify the integrity of any data or code before it is downloaded or deserialized by the application.
A09: Logging and Alerting Failures
This category is about the insufficient logging, monitoring, and alerting needed to detect and respond to an incident. It's like having a silent alarm system. Even if a break-in is detected, it's useless if it doesn't alert anyone. These failures are highly impactful because they prevent quick detection and response. And this allows an attacker more time inside a system to find sensitive data and cover their tracks. Without good logs, all forensic investigation becomes nearly impossible. The key is to ensure that all critical security events are logged, that those logs are protected from tampering, and that high-priority events trigger immediate alerts to a response team.
A10: Mishandling of Exceptional Conditions
This is a new category that covers an application's failure to respond correctly to unpredictable situations. It includes improper error handling, logic bugs, or the failure to "fail securely." Think of it as a pilot who doesn't know what to do when an engine fails. When an application encounters an unexpected error, it can crash, expose sensitive data in an error message, or get stuck in an insecure state. And this can lead to logic bugs, race conditions, or sensitive data exposure. The best prevention is to expect the worst. Programmers must capture system errors at the source, log the event, and ensure the system "fails closed" to a secure, default state.
A New Focus on Systemic Risk
The 2025 OWASP Top 10 (Release Candidate) moves the industry's focus from isolated code errors to more complex, systemic, and architectural failures. The list reinforces its role not as a compliance checklist, but as a strategic risk management tool. It guides organizations to focus on the most critical vulnerabilities, like the expansion of supply chain failures and the need to "fail securely," that define the modern software landscape.
Managing these systemic risks requires more intentional measures. To secure the entire attack surface, teams need continuous, preemptive validation. Siemba's AI-powered CTEM platform helps you continuously find, prioritize, and remediate these top 10 flaws and all other critical exposures.
Nithin Thomas
Nithin Thomas is the Vice President of Operations at Siemba, where he leads organizational strategy, financial operations, and end-to-end delivery across product, engineering, and customer success. With a background that blends advance research, statistical modeling, and hands-on cybersecurity operations, Nithin brings a uniquely practical and analytical lens to modern security problems. He has led strategic initiatives across global teams, built and scaled security programs, and founded Slash Secure, driving community-driven security innovation, including initiatives like 0SecCon India. An avid reader, his favourites include "Leaving Microsoft to Change the World" by John Wood, "Future Shock" by Alvin Toffler and "Leadership on the line" by Marty Linksy & Ronald Heifetz.