
What Is CWE? Overview + CWE Top 25
With rising software security risks, it is essential that you safeguard your code against potential vulnerabilities. One of the most efficient and effective ways to do that is by using secure coding practices — like CWE. Here we explain what is CWE and the CWE Top 25.
What Is CWE?
Common Weakness Enumeration (CWE) list identifies software security weaknesses in software and hardware. This includes C, C++, and Java. The list is compiled by feedback from the CWE Community.
Sponsored by the MITRE Corporation, the community is made up of representatives from major operating systems vendors, commercial information security tool vendors, academia, government agencies, and research institutions.
The full list is regularly updated every few months with the latest version released in August 2020. The security weakness list includes over 600 categories, which include:
- Buffer overflow
- Cross-site scripting
- Insecure random numbers
Learn More About the Top 10 Embedded Security Vulnerabilities >>
What Is CWE Top 25?
Published by MITRE, the CWE Top 25 is a compilation of the most widespread and critical weaknesses that could lead to severe software vulnerabilities. The most recent list was published in 2020 and listed vulnerabilities that allowed hackers to gain control over an affected system, steal sensitive data, and cause a denial-of-service condition.
CWE Top 25
Here is the list of the 2020 CWE Top 25 software weaknesses:
- Improper Neutralization of Input During Web Page Generation (“Cross-site Scripting”)
- Out-of-bounds Write
- Improper Input Validation
- Out-of-bounds Read
- Improper Restriction of Operations within the Bounds of a Memory Buffer
- Improper Neutralization of Special Elements used in an SQL Command (“SQL Injection”)
- Exposure of Sensitive Information to an Unauthorized Actor
- Use After Free
- Cross-Site Request Forgery (CSRF)
- Improper Neutralization of Special Elements used in an OS Command (“OS Command Injection)
- Integer Overflow or Wraparound
- Improper Limitation of a Pathname to a Restricted Directory (“Path Traversal”)
- NULL Pointer Dereference
- Improper Authentication
- Unrestricted Upload of File with Dangerous Type
- Incorrect Permission Assignment for Critical Resource
- Improper Control of Generation of Code (“Code Injection”)
- Insufficiently Protected Credentials
- Improper Restriction of XML External Entity Reference
- Use of Hard-coded Credentials
- Deserialization of Untrusted Data
- Improper Privilege Management
- Uncontrolled Resource Consumption
- Missing Authentication for Critical Function
- Missing Authorization
How to Enforce CWE Compliance with Static Analysis?
The best way to ensure that your code is secure is to use a SAST tool, like Klocwork.
SAST tools identify and eliminate security vulnerabilities and software defects early on in development. This helps to ensure that your software is secure, reliable, and compliant.
Klocwork helps you:
- Identify and analyze security risks and prioritizes severity.
- Fulfill compliance standard requirements.
- Apply and enforce coding standards.
- Verify and validate through testing.
- Achieve compliance and get certified faster.
Learn More About How to Enforce Secure Coding Standards >>
Use Klocwork to Ensure Software Security
See for yourself how Klocwork can help you enforce software security standards. Sign up for our next live demo and see how it works.