OWASP Top 10 Vulnerabilities

Last Updated : 27 Jul, 2026

OWASP stands for the Open Web Application Security Project. It is a non-profit global online community consisting of tens of thousands of members and hundreds of chapters that produces articles, documentation, tools and technologies in the field of web application security.

  • OWASP releases the Top 10 Web Application Security Risks every 3-4 years based on real-world vulnerability data.
  • The list is created using frequency, severity and impact of security flaws found in web applications..

Note: As of 2025, the OWASP Top 10 (2021) remains the latest official release. OWASP has not published a newer Top 10 list yet. This article reflects the current OWASP Top 10 that is still valid and widely used in 2025.

1. Broken Access Control

Broken Access Control occurs when authorization is improperly enforced, allowing users to access or modify resources beyond their assigned privileges.

  • Lack of access controls in PUT, POST, DELETE in APIs.
  • Any kind of tampering with JSON web tokens to elevate privileges like changing roles from 'user' to 'admin'.
broken_access_control

Example: If an application used the URL of the format:

http://example.com/object/12345%3C/span>

The reference ID 12345 could be changed to 123456 and the user could simply access the other object with that id.

2. Cryptographic Failures

Cryptographic Failures occur when sensitive data is inadequately protected due to weak, missing or improperly implemented cryptographic controls.

  • Old or weak cryptographic measures being used by default in a system.
  • Data transmission without being encrypted, use of protocols such as HTTP, SMTP, FTP.
  • Server certificate and trust chain is not verified properly.
cryptographic_failures_working
Cryptographic Failures

3. Injection

Injection occurs when untrusted input is interpreted as executable commands or queries, leading to unauthorized code execution or data manipulation.

  • It directly adds user input into SQL or command strings, which mixes trusted code with untrusted data.
  • It uses user input in ORM queries, letting attackers fetch data they shouldn't access..
SQL_injection
SQL Injection

Example of an Injection Vulnerability

The code for querying in the backend of the application

SELECT * FROM users WHERE username = '$username' AND password = '$password';

The attacker inputs the username and password as

Username: admin
Password: ' OR '1'='1

Now, the resultant query will be

SELECT * FROM users WHERE username = 'admin' AND password = '' OR '1'='1';

Given that the condition '1'='1' is true, the query will be successfully carried out and the user gained access to system.

4. Insecure Design

Insecure Design results from architectural and design flaws that introduce security weaknesses before implementation.

insecure_design_working
Insecure Design

5. Security Misconfiguration

Security Misconfiguration results from insecure default settings, improper configurations or missing security controls that expose applications and infrastructure to attack.

  • Use of default credentials by an account.
  • Outdated software.
  • Insecure security settings like libraries, databases, application frameworks.
security_misconfiguration_attack_example
Security Misconfiguration

6. Vulnerable & Outdated Components

Vulnerable and Outdated Components arise from the use of software, libraries, frameworks or dependencies with known security vulnerabilities.

  • Lack of information about all the components including client and server side, including direct and nested dependencies.
  • Vulnerable or outdated software, including databases, OS, servers, DBMS, APIs, runtime environments, libraries and all other components of an application.
vulnerable_and_outdated_components_attack_example
Outdated Component

7. Identification & Authentication Failures

Identification and Authentication Failures occur when authentication or session management weaknesses allow unauthorized access or account compromise.

  • Automated attacks like credential stuffing, brute-force attacks to gain unauthorized access to a system
  • Default and weak credentials are allowed by any system
  • Lack of Multi-factor authentication
identification_and_authentication_failures_attack_example
Failure

8. Software and Data Integrity Failures 

Software and Data Integrity Failures occur when software, updates or data cannot be verified for integrity, enabling unauthorized modification or supply chain compromise.

  • Untrusted sources of dependencies for plugins, libraries, modules
  • Insecure CI/CD pipeline leading to unauthorized access, malware upload or system compromise
software_and_data_integrity_failures_working
Software or Data Integrity Failure

9. Security Logging and Monitoring Failures

Security Logging and Monitoring Failures occur when inadequate logging, monitoring or alerting delays the detection and response to security incidents.

  • Centralize Logs: Aggregate logs from applications, servers, databases and network devices into a SIEM for correlation and threat detection.
  • Enable Real-Time Alerts: Monitor authentication failures, privilege escalation, configuration changes and log tampering for immediate incident response.
security_logging_and_monitoring_failures
Logging and Monitoring

10. Server-Side Request Forgery

Server-Side Request Forgery (SSRF) occurs when an application fetches user-supplied URLs without validation, allowing attackers to access internal or external resources.

  • Validate Outbound Requests: Restrict requests using allowlists, URL validation and network filtering to prevent access to internal or unauthorized resources.
  • Monitor Outbound Traffic: Detect unusual server-initiated requests to internal IP ranges, cloud metadata services or unexpected external hosts.
firewall
SSRF
Comment