Common Weakness Enumeration — the root causes behind every CVE
CWE catalogs the root causes behind CVEs — SQL injection, XSS, broken auth, and 300+ others that keep showing up in security advisories. Each entry here covers how it happens, what it costs when someone exploits it, and the fix that actually closes it.
Guessable CAPTCHA
A guessable CAPTCHA is a human-verification challenge that can be solved or bypassed by automated tools, defeating its core purpose. When a CAPTCHA is too…
Reliance on Untrusted Inputs in a Security Decision
This weakness occurs when an application makes a security-critical decision—such as granting access, approving a transaction, or determining user…
Untrusted Pointer Dereference
Untrusted Pointer Dereference occurs when a program accepts a pointer value from an external source—user input, network data, or an untrusted library—and uses…
Inclusion of Functionality from Untrusted Control Sphere
This weakness occurs when an application loads and executes code, libraries, or scripts from a source outside its intended control — such as a user-supplied…
Inclusion of Web Functionality from an Untrusted Source
This weakness occurs when a website or application loads scripts, stylesheets, or other executable content from a source it does not control or verify. An…
Deadlock
A deadlock occurs when two or more threads or processes become stuck waiting for resources that each other holds, preventing any of them from progressing. The…
Excessive Iteration
Excessive Iteration occurs when code performs a loop or recursive operation without properly limiting how many times it runs. An attacker can exploit this to…
Loop with Unreachable Exit Condition (Infinite Loop)
An infinite loop occurs when a program enters a loop that never terminates because its exit condition can never be met. This causes the application to consume…
Use of Password Hash Instead of Password for Authentication
This weakness occurs when a system treats a password hash as if it were a password itself, rather than as a one-way cryptographic representation. If an…
Business Logic Errors
Business logic errors occur when code works exactly as written, but the underlying logic itself is flawed in a way that violates the intended security or…
Improper Enforcement of Behavioral Workflow
This weakness occurs when software fails to enforce the correct sequence or state transitions in a multi-step process. An attacker can skip steps, repeat…
Placement of User into Incorrect Group
This weakness occurs when a user is assigned to the wrong group or role, causing them to receive permissions they shouldn't have or lose permissions they need…
Access of Resource Using Incompatible Type ('Type Confusion')
Type confusion occurs when code treats a resource variable, object, or memory region as a different type than it actually is. This mismatch can cause the…
Missing Authorization
Missing authorization occurs when a system verifies who a user is authentication but fails to check what they are allowed to do authorization. An authenticated…
Incorrect Authorization
Incorrect authorization occurs when a system checks whether a user is allowed to perform an action, but the check itself is flawed—allowing unauthorized users…
Use of Uninitialized Resource
This weakness occurs when a program uses a variable, object, or resource before it has been assigned a valid initial value. The result is unpredictable…
Missing Initialization of Resource
Missing initialization of a resource occurs when a program fails to set up a critical variable, object, or system component before using it. This leaves the…
Hidden Functionality
Hidden functionality is code or features present in software that are not documented, advertised, or known to system administrators and users. This undisclosed…
Improper Control of Dynamically-Managed Code Resources
This weakness occurs when an application allows external input to influence how code is loaded, executed, or interpreted at runtime without proper validation…
Improperly Controlled Modification of Dynamically-Determined Object Attributes
Mass assignment is a vulnerability where an application automatically binds user-supplied input directly to object properties without restricting which…
Use of Password Hash With Insufficient Computational Effort
This weakness occurs when a password hashing algorithm is too fast or simple, allowing attackers who obtain a stolen password database to crack hashes offline…
Improper Neutralization of Special Elements used in an Expression Language Statement
Expression Language EL is a templating mechanism used in Java web frameworks and other platforms to dynamically evaluate expressions within templates. When…
Server-Side Request Forgery
Server-Side Request Forgery SSRF occurs when a web application fetches a URL or resource based on user input without properly validating the destination. An…
Improper Restriction of Power Consumption
This weakness occurs when software fails to limit how much power or battery a device consumes, allowing an attacker or malicious process to drain the device's…
Insecure Storage of Sensitive Information
This weakness occurs when sensitive data—such as passwords, API keys, authentication tokens, or personal information—is stored in a way that does not…
Improper Enforcement of Message Integrity During Transmission in a Communication Channel
This weakness occurs when software sends sensitive data over a communication channel without verifying that the message hasn't been altered in transit. An…
Improper Verification of Source of a Communication Channel
This weakness occurs when software accepts incoming requests or communications without properly verifying who or what initiated them. An attacker can…
Incorrectly Specified Destination in a Communication Channel
This weakness occurs when software sends data to the wrong destination—a misconfigured server, an unintended recipient, or an attacker-controlled…
Permissive Cross-domain Policy with Untrusted Domains
This weakness occurs when a web application's cross-origin resource sharing CORS policy or similar cross-domain mechanism is configured too broadly, allowing…
Improper Neutralization of Special Elements in Data Query Logic
This weakness occurs when an application builds a data query SQL, NoSQL, LDAP, or similar using unsanitized user input, allowing an attacker to inject special…