DATASHEET
OWASP Enforcement (2021)
OWASP Top Ten 2021
https://owasp.org/Top10/
ENFORCEMENT FOR KW 2024.2
Web Application Security Risk | Description | C/C++ | C# | Java | Java Script | Python |
---|---|---|---|---|---|---|
1. Broken Access Control | Access control enforces policy such that users cannot act outside of their intended permissions. Failures typically lead to unauthorized information disclosure, modification, or destruction of all data or performing a business function outside the user’s limits. Common access control vulnerabilities include:
| Yes | Yes | Yes | No | No |
2. Cryptographic Failures | The first thing is to determine the protection needs of data in transit and at rest. For example, passwords, credit card numbers, health records, personal information, and business secrets require extra protection, mainly if that data falls under privacy laws, e.g., EU’s General Data Protection Regulation (GDPR), or regulations, e.g., financial data protection such as PCI Data Security Standard (PCI DSS). | Yes | Yes | Yes | No | Yes |
3. Injection | An application is vulnerable to attack when user-supplied data is not validated, filtered, or sanitized by the application.
Some of the more common injections are SQL, NoSQL, OS command, Object Relational Mapping (ORM), LDAP, and Expression Language (EL) or Object Graph Navigation Library (OGNL) injection. | Yes | Yes | Yes | Yes | No |
4. Insecure Design | Insecure design is a broad category representing different weaknesses, expressed as “missing or ineffective control design.” Insecure design is not the source for all other Top 10 risk categories. There is a difference between insecure design and insecure implementation. We differentiate between design flaws and implementation defects for a reason, they have different root causes and remediation. A secure design can still have implementation defects leading to vulnerabilities that may be exploited. An insecure design cannot be fixed by a perfect implementation as by definition, needed security controls were never created to defend against specific attacks. One of the factors that contribute to insecure design is the lack of business risk profiling inherent in the software or system being developed, and thus the failure to determine what level of security design is required. | Yes | Yes | Yes | No | No |
5. Security Misconfiguration | The application might be vulnerable if the application is:
Without a concerted, repeatable application security configuration process, systems are at a higher risk. | Yes | Yes | Yes | No | No |
6. Vulnerable and Outdated Components | You are likely vulnerable:
| No | No | Yes | No | No |
7. Identification & Authentication Failures | Confirmation of the user’s identity, authentication, and session management is critical to protect against authentication-related attacks. There may be authentication weaknesses if the application:
| Yes | Yes | Yes | No | No |
8. Software and Data Integrity Failures | Software and data integrity failures relate to code and infrastructure that does not protect against integrity violations. An example of this is where an application relies upon plugins, libraries, or modules from untrusted sources, repositories, and content delivery networks (CDNs). An insecure CI/CD pipeline can introduce the potential for unauthorized access, malicious code, or system compromise. Lastly, many applications now include auto-update functionality, where updates are downloaded without sufficient integrity verification and applied to the previously trusted application. Attackers could potentially upload their own updates to be distributed and run on all installations. Another example is where objects or data are encoded or serialized into a structure that an attacker can see and modify is vulnerable to insecure deserialization. | Yes | Yes | Yes | No | No |
9. Security Logging and Monitoring Failures | This category is to help detect, escalate, and respond to active breaches. Without logging and monitoring, breaches cannot be detected. Insufficient logging, detection, monitoring, and active response occurs any time:
You are vulnerable to information leakage by making logging and alerting events visible to a user or an attacker. | No | No | Yes | No | No |
10. Server-Side Request Forgery | SSRF flaws occur whenever a web application is fetching a remote resource without validating the user-supplied URL. It allows an attacker to coerce the application to send a crafted request to an unexpected destination, even when protected by a firewall, VPN, or another type of network access control list (ACL). As modern web applications provide end-users with convenient features, fetching a URL becomes a common scenario. As a result, the incidence of SSRF is increasing. Also, the severity of SSRF is becoming higher due to cloud services and the complexity of architectures. | No | No | Yes | No | No |