CWE VIEW: Weaknesses for Simplified Mapping of Published Vulnerabilities
CWE entries in this view (graph) may be used to categorize potential weaknesses within sources that handle public, third-party vulnerability information, such as the National Vulnerability Database (NVD). By design, this view is incomplete. It is limited to a small number of the most commonly-seen weaknesses, so that it is easier for humans to use. This view uses a shallow hierarchy of two levels in order to simplify the complex navigation of the entire CWE corpus.
The following graph shows the tree-like relationships between
weaknesses that exist at different levels of abstraction. At the highest level, categories
and pillars exist to group weaknesses. Categories (which are not technically weaknesses) are
special CWE entries used to group weaknesses that share a common characteristic. Pillars are
weaknesses that are described in the most abstract fashion. Below these top-level entries
are weaknesses are varying levels of abstraction. Classes are still very abstract, typically
independent of any specific language or technology. Base level weaknesses are used to
present a more specific type of weakness. A variant is a weakness that is described at a
very low level of detail, typically limited to a specific language or technology. A chain is
a set of weaknesses that must be reachable consecutively in order to produce an exploitable
vulnerability. While a composite is a set of weaknesses that must all be present
simultaneously in order to produce an exploitable vulnerability.
Show Details:
1003 - Weaknesses for Simplified Mapping of Published Vulnerabilities
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
20
(Improper Input Validation)
The product receives input or data, but it does
not validate or incorrectly validates that the input has the
properties that are required to process the data safely and
correctly.
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
20
(Improper Input Validation) >
1284
(Improper Validation of Specified Quantity in Input)
The product receives input that is expected to specify a quantity (such as size or length), but it does not validate or incorrectly validates that the quantity has the required properties.
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
20
(Improper Input Validation) >
129
(Improper Validation of Array Index)
The product uses untrusted input when calculating or using an array index, but the product does not validate or incorrectly validates the index to ensure the index references a valid position within the array.
out-of-bounds array index
index-out-of-range
array index underflow
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
74
(Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection'))
The product constructs all or part of a command, data structure, or record using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify how it is parsed or interpreted when it is sent to a downstream component.
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
74
(Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')) >
1236
(Improper Neutralization of Formula Elements in a CSV File)
The product saves user-provided information into a Comma-Separated Value (CSV) file, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as a command when the file is opened by a spreadsheet product.
CSV Injection
Formula Injection
Excel Macro Injection
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
74
(Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')) >
77
(Improper Neutralization of Special Elements used in a Command ('Command Injection'))
The product constructs all or part of a command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended command when it is sent to a downstream component.
Command injection
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
74
(Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')) >
78
(Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection'))
The product constructs all or part of an OS command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command when it is sent to a downstream component.
Shell injection
Shell metacharacters
OS Command Injection
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
74
(Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')) >
79
(Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting'))
The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.
XSS
HTML Injection
Reflected XSS / Non-Persistent XSS / Type 1 XSS
Stored XSS / Persistent XSS / Type 2 XSS
DOM-Based XSS / Type 0 XSS
CSS
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
74
(Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')) >
88
(Improper Neutralization of Argument Delimiters in a Command ('Argument Injection'))
The product constructs a string for a command to be executed by a separate component
in another control sphere, but it does not properly delimit the
intended arguments, options, or switches within that command string.
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
74
(Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')) >
89
(Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'))
The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component. Without sufficient removal or quoting of SQL syntax in user-controllable inputs, the generated SQL query can cause those inputs to be interpreted as SQL instead of ordinary user data.
SQL injection
SQLi
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
74
(Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')) >
91
(XML Injection (aka Blind XPath Injection))
The product does not properly neutralize special elements that are used in XML, allowing attackers to modify the syntax, content, or commands of the XML before it is processed by an end system.
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
74
(Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')) >
917
(Improper Neutralization of Special Elements used in an Expression Language Statement ('Expression Language Injection'))
The product constructs all or part of an expression language (EL) statement in a framework such as a Java Server Page (JSP) using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended EL statement before it is executed.
EL Injection
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
74
(Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')) >
94
(Improper Control of Generation of Code ('Code Injection'))
The product constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment.
Code Injection
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
116
(Improper Encoding or Escaping of Output)
The product prepares a structured message for communication with another component, but encoding or escaping of the data is either missing or done incorrectly. As a result, the intended structure of the message is not preserved.
Output Sanitization
Output Validation
Output Encoding
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
116
(Improper Encoding or Escaping of Output) >
838
(Inappropriate Encoding for Output Context)
The product uses or specifies an encoding when generating output to a downstream component, but the specified encoding is not the same as the encoding that is expected by the downstream component.
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
119
(Improper Restriction of Operations within the Bounds of a Memory Buffer)
The product performs operations on a memory buffer, but it reads from or writes to a memory location outside the buffer's intended boundary. This may result in read or write operations on unexpected memory locations that could be linked to other variables, data structures, or internal program data.
Buffer Overflow
buffer overrun
memory safety
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
119
(Improper Restriction of Operations within the Bounds of a Memory Buffer) >
120
(Buffer Copy without Checking Size of Input ('Classic Buffer Overflow'))
The product copies an input buffer to an output buffer without verifying that the size of the input buffer is less than the size of the output buffer.
Classic Buffer Overflow
Unbounded Transfer
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
119
(Improper Restriction of Operations within the Bounds of a Memory Buffer) >
125
(Out-of-bounds Read)
The product reads data past the end, or before the beginning, of the intended buffer.
OOB read
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
119
(Improper Restriction of Operations within the Bounds of a Memory Buffer) >
787
(Out-of-bounds Write)
The product writes data past the end, or before the beginning, of the intended buffer.
Memory Corruption
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
119
(Improper Restriction of Operations within the Bounds of a Memory Buffer) >
824
(Access of Uninitialized Pointer)
The product accesses or uses a pointer that has not been initialized.
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
200
(Exposure of Sensitive Information to an Unauthorized Actor)
The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information.
Information Disclosure
Information Leak
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
200
(Exposure of Sensitive Information to an Unauthorized Actor) >
203
(Observable Discrepancy)
The product behaves differently or sends different responses under different circumstances in a way that is observable to an unauthorized actor.
Side Channel Attack
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
200
(Exposure of Sensitive Information to an Unauthorized Actor) >
209
(Generation of Error Message Containing Sensitive Information)
The product generates an error message that includes sensitive information about its environment, users, or associated data.
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
200
(Exposure of Sensitive Information to an Unauthorized Actor) >
532
(Insertion of Sensitive Information into Log File)
The product writes sensitive information to a log file.
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
269
(Improper Privilege Management)
The product does not properly assign, modify, track, or check privileges for an actor, creating an unintended sphere of control for that actor.
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
287
(Improper Authentication)
When an actor claims to have a given identity, the product does not prove or insufficiently proves that the claim is correct.
authentification
AuthN
AuthC
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
287
(Improper Authentication) >
290
(Authentication Bypass by Spoofing)
This attack-focused weakness is caused by incorrectly implemented authentication schemes that are subject to spoofing attacks.
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
287
(Improper Authentication) >
294
(Authentication Bypass by Capture-replay)
A capture-replay flaw exists when the design of the product makes it possible for a malicious user to sniff network traffic and bypass authentication by replaying it to the server in question to the same effect as the original message (or with minor changes).
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
287
(Improper Authentication) >
295
(Improper Certificate Validation)
The product does not validate, or incorrectly validates, a certificate.
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
287
(Improper Authentication) >
306
(Missing Authentication for Critical Function)
The product does not perform any authentication for functionality that requires a provable user identity or consumes a significant amount of resources.
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
287
(Improper Authentication) >
307
(Improper Restriction of Excessive Authentication Attempts)
The product does not implement sufficient measures to prevent multiple failed authentication attempts within a short time frame.
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
287
(Improper Authentication) >
521
(Weak Password Requirements)
The product does not require that users should have strong passwords.
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
287
(Improper Authentication) >
522
(Insufficiently Protected Credentials)
The product transmits or stores authentication credentials, but it uses an insecure method that is susceptible to unauthorized interception and/or retrieval.
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
287
(Improper Authentication) >
640
(Weak Password Recovery Mechanism for Forgotten Password)
The product contains a mechanism for users to recover or change their passwords without knowing the original password, but the mechanism is weak.
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
287
(Improper Authentication) >
798
(Use of Hard-coded Credentials)
The product contains hard-coded credentials, such as a password or cryptographic key.
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
311
(Missing Encryption of Sensitive Data)
The product does not encrypt sensitive or critical information before storage or transmission.
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
311
(Missing Encryption of Sensitive Data) >
312
(Cleartext Storage of Sensitive Information)
The product stores sensitive information in cleartext within a resource that might be accessible to another control sphere.
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
311
(Missing Encryption of Sensitive Data) >
319
(Cleartext Transmission of Sensitive Information)
The product transmits sensitive or security-critical data in cleartext in a communication channel that can be sniffed by unauthorized actors.
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
326
(Inadequate Encryption Strength)
The product stores or transmits sensitive data using an encryption scheme that is theoretically sound, but is not strong enough for the level of protection required.
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
327
(Use of a Broken or Risky Cryptographic Algorithm)
The product uses a broken or risky cryptographic algorithm or protocol.
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
327
(Use of a Broken or Risky Cryptographic Algorithm) >
916
(Use of Password Hash With Insufficient Computational Effort)
The product generates a hash for a password, but it uses a scheme that does not provide a sufficient level of computational effort that would make password cracking attacks infeasible or expensive.
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
330
(Use of Insufficiently Random Values)
The product uses insufficiently random numbers or values in a security context that depends on unpredictable numbers.
1003
(Weaknesses for Simplified Mapping of Published Vulnerabilities) >
330
(Use of Insufficiently Random Values) >
331
(Insufficient Entropy)
The product uses an algorithm or scheme that produces insufficient entropy, leaving patterns or clusters of values that are more likely to occur than others.
|

