🧩

Common Weakness Enumeration

Explore the comprehensive database of software security weaknesses. CWE provides a unified, measurable set of software weaknesses that enables more effective discussion, description, selection, and use of software security tools and services.

1935
Total CWEs
004
1004
Variant
Sensitive Cookie Without 'HttpOnly' Flag
The product uses a cookie to store sensitive information, but the cookie is not marked with the HttpOnly flag.
007
1007
Base
Insufficient Visual Distinction of Homoglyphs Presented to User
The product displays information or identifiers to a user, but the display mechanism does not make it easy for the user to distinguish between visual…
102
102
Variant
Struts: Duplicate Validation Forms
The product uses multiple validation forms with the same name, which might cause the Struts Validator to validate a form that the programmer does not…
021
1021
Base
Improper Restriction of Rendered UI Layers or Frames
The web application does not restrict or incorrectly restricts frame objects or UI layers that belong to another application or domain, which can lea…
022
1022
Variant
Use of Web Link to Untrusted Target with window.opener Access
The web application produces links to untrusted external sites outside of its sphere of control, but it does not properly prevent the external site f…
023
1023
Class
Incomplete Comparison with Missing Factors
The product performs a comparison between entities that must consider multiple factors or characteristics of each entity, but the comparison does not…
024
1024
Base
Comparison of Incompatible Types
The product performs a comparison between two entities, but the entities are of different, incompatible types that cannot be guaranteed to provide co…
025
1025
Base
Comparison Using Wrong Factors
The code performs a comparison between two entities, but the comparison examines the wrong factors or characteristics of the entities, which can lead…
103
103
Variant
Struts: Incomplete validate() Method Definition
The product has a validator form that either does not define a validate() method, or defines a validate() method but does not call super.validate().
037
1037
Base
Processor Optimization Removal or Modification of Security-critical Code
The developer builds a security-critical protection mechanism into the software, but the processor optimizes the execution of the program such that t…
038
1038
Class
Insecure Automated Optimizations
The product uses a mechanism that automatically optimizes code, e.g. to improve a characteristic such as performance, but the optimizations can have …
039
1039
Class
Inadequate Detection or Handling of Adversarial Input Perturbations in Automate…
The product uses an automated mechanism such as machine learning to recognize complex data inputs (e.g. image or audio) as a particular concept or ca…
104
104
Variant
Struts: Form Bean Does Not Extend Validation Class
If a form bean does not extend an ActionForm subclass of the Validator framework, it can expose the application to other weaknesses related to insuff…
041
1041
Base
Use of Redundant Code
The product has multiple functions, methods, procedures, macros, etc. that contain the same code.
042
1042
Variant
Static Member Data Element outside of a Singleton Class Element
The code contains a member element that is declared as static (but not final), in which its parent class element is not a singleton class …
043
1043
Base
Data Element Aggregating an Excessively Large Number of Non-Primitive Elements
The product uses a data element that has an excessively large number of sub-elements with non-primitive data types such as structures or aggrega…
044
1044
Base
Architecture with Number of Horizontal Layers Outside of Expected Range
The product's architecture contains too many - or too few - horizontal layers.
045
1045
Base
Parent Class with a Virtual Destructor and a Child Class without a Virtual Dest…
A parent class has a virtual destructor method, but the parent has a child class that does not have a virtual destructor.
046
1046
Base
Creation of Immutable Text Using String Concatenation
The product creates an immutable text string using string concatenation operations.
047
1047
Base
Modules with Circular Dependencies
The product contains modules in which one module has references that cycle back to itself, i.e., there are circular dependencies.
048
1048
Base
Invokable Control Element with Large Number of Outward Calls
The code contains callable control elements that contain an excessively large number of references to other application objects ext…
049
1049
Base
Excessive Data Query Operations in a Large Data Table
The product performs a data query with a large number of joins and sub-queries on a large data table.
105
105
Variant
Struts: Form Field Without Validator
The product has a form field that is not validated by a corresponding validation form, which can introduce other weaknesses related to insufficient i…
050
1050
Base
Excessive Platform Resource Consumption within a Loop
The product has a loop body or loop condition that contains a control element that directly or indirectly consumes platform resources, e.g. mess…
051
1051
Base
Initialization with Hard-Coded Network Resource Configuration Data
The product initializes data using hard-coded values that act as network resource identifiers.
052
1052
Base
Excessive Use of Hard-Coded Literals in Initialization
The product initializes a data element using a hard-coded literal that is not a simple integer or static constant element.
053
1053
Base
Missing Documentation for Design
The product does not have documentation that represents how it is designed.
054
1054
Base
Invocation of a Control Element at an Unnecessarily Deep Horizontal Layer
The code at one architectural layer invokes code that resides at a deeper layer than the adjacent layer, i.e., the invocation skips at least one…
055
1055
Base
Multiple Inheritance from Concrete Classes
The product contains a class with inheritance from more than one concrete class.
056
1056
Base
Invokable Control Element with Variadic Parameters
A named-callable or method control element has a signature that supports a variable (variadic) number of parameters or arguments.
057
1057
Base
Data Access Operations Outside of Expected Data Manager Component
The product uses a dedicated, central data manager component as required by design, but it contains code that performs data-access operations that do…
058
1058
Base
Invokable Control Element in Multi-Thread Context with non-Final Static Storabl…
The code contains a function or method that operates in a multi-threaded environment but owns an unsafe non-final static st…
059
1059
Class
Insufficient Technical Documentation
The product does not contain sufficient technical or engineering documentation (whether on paper or in electronic form) that contai…
106
106
Variant
Struts: Plug-in Framework not in Use
When an application does not use an input validation framework such as the Struts Validator, there is a greater risk of introducing weaknesses relate…
060
1060
Base
Excessive Number of Inefficient Server-Side Data Accesses
The product performs too many data queries without using efficient data processing functionality such as stored procedures.
061
1061
Class
Insufficient Encapsulation
The product does not sufficiently hide the internal representation and implementation details of data or methods, which might allow external componen…
062
1062
Base
Parent Class with References to Child Class
The code has a parent class that contains references to a child class, its methods, or its members.
063
1063
Base
Creation of Class Instance within a Static Code Block
A static code block creates an instance of a class.
064
1064
Base
Invokable Control Element with Signature Containing an Excessive Number of Para…
The product contains a function, subroutine, or method whose signature has an unnecessarily large number of parameters/arguments.
065
1065
Base
Runtime Resource Management Control Element in a Component Built to Run on Appl…
The product uses deployed components from application servers, but it also uses low-level functions/methods for management of resources, instead of t…
066
1066
Base
Missing Serialization Control Element
The product contains a serializable data element that does not have an associated serialization method.
067
1067
Base
Excessive Execution of Sequential Searches of Data Resource
The product contains a data query against an SQL table or view that is configured in a way that does not utilize an index and may cause seq…
068
1068
Base
Inconsistency Between Implementation and Documented Design
The implementation of the product is not consistent with the design as described within the relevant documentation.
069
1069
Variant
Empty Exception Block
An invokable code block contains an exception handling block that does not contain any code, i.e. is empty.
107
107
Variant
Struts: Unused Validation Form
An unused validation form indicates that validation logic is not up-to-date.
070
1070
Base
Serializable Data Element Containing non-Serializable Item Elements
The product contains a serializable, storable data element such as a field or member, but the data element contains member elements that are not…
071
1071
Base
Empty Code Block
The source code contains a block that does not contain any code, i.e., the block is empty.
072
1072
Base
Data Resource Access without Use of Connection Pooling
The product accesses a data resource through a database without using a connection pooling capability.
073
1073
Base
Non-SQL Invokable Control Element with Excessive Number of Data Resource Access…
The product contains a client with a function or method that contains a large number of data accesses/queries that are sent through a data manager, i…
074
1074
Base
Class with Excessively Deep Inheritance
A class has an inheritance level that is too high, i.e., it has a large number of parent classes.
CWE ID
Title
Type
Action
1004
Sensitive Cookie Without 'HttpOnly' Flag
Variant
View
1007
Insufficient Visual Distinction of Homoglyphs Presented to User
Base
View
102
Struts: Duplicate Validation Forms
Variant
View
1021
Improper Restriction of Rendered UI Layers or Frames
Base
View
1022
Use of Web Link to Untrusted Target with window.opener Access
Variant
View
1023
Incomplete Comparison with Missing Factors
Class
View
1024
Comparison of Incompatible Types
Base
View
1025
Comparison Using Wrong Factors
Base
View
103
Struts: Incomplete validate() Method Definition
Variant
View
1037
Processor Optimization Removal or Modification of Security-critical Code
Base
View
1038
Insecure Automated Optimizations
Class
View
1039
Inadequate Detection or Handling of Adversarial Input Perturbations in Automate…
Class
View
104
Struts: Form Bean Does Not Extend Validation Class
Variant
View
1041
Use of Redundant Code
Base
View
1042
Static Member Data Element outside of a Singleton Class Element
Variant
View
1043
Data Element Aggregating an Excessively Large Number of Non-Primitive Elements
Base
View
1044
Architecture with Number of Horizontal Layers Outside of Expected Range
Base
View
1045
Parent Class with a Virtual Destructor and a Child Class without a Virtual Dest…
Base
View
1046
Creation of Immutable Text Using String Concatenation
Base
View
1047
Modules with Circular Dependencies
Base
View
1048
Invokable Control Element with Large Number of Outward Calls
Base
View
1049
Excessive Data Query Operations in a Large Data Table
Base
View
105
Struts: Form Field Without Validator
Variant
View
1050
Excessive Platform Resource Consumption within a Loop
Base
View
1051
Initialization with Hard-Coded Network Resource Configuration Data
Base
View
1052
Excessive Use of Hard-Coded Literals in Initialization
Base
View
1053
Missing Documentation for Design
Base
View
1054
Invocation of a Control Element at an Unnecessarily Deep Horizontal Layer
Base
View
1055
Multiple Inheritance from Concrete Classes
Base
View
1056
Invokable Control Element with Variadic Parameters
Base
View
1057
Data Access Operations Outside of Expected Data Manager Component
Base
View
1058
Invokable Control Element in Multi-Thread Context with non-Final Static Storabl…
Base
View
1059
Insufficient Technical Documentation
Class
View
106
Struts: Plug-in Framework not in Use
Variant
View
1060
Excessive Number of Inefficient Server-Side Data Accesses
Base
View
1061
Insufficient Encapsulation
Class
View
1062
Parent Class with References to Child Class
Base
View
1063
Creation of Class Instance within a Static Code Block
Base
View
1064
Invokable Control Element with Signature Containing an Excessive Number of Para…
Base
View
1065
Runtime Resource Management Control Element in a Component Built to Run on Appl…
Base
View
1066
Missing Serialization Control Element
Base
View
1067
Excessive Execution of Sequential Searches of Data Resource
Base
View
1068
Inconsistency Between Implementation and Documented Design
Base
View
1069
Empty Exception Block
Variant
View
107
Struts: Unused Validation Form
Variant
View
1070
Serializable Data Element Containing non-Serializable Item Elements
Base
View
1071
Empty Code Block
Base
View
1072
Data Resource Access without Use of Connection Pooling
Base
View
1073
Non-SQL Invokable Control Element with Excessive Number of Data Resource Access…
Base
View
1074
Class with Excessively Deep Inheritance
Base
View
1 2 3 ... 39