Category: Complexity Issues

Draft
Summary

Weaknesses in this category are associated with things being overly complex.

Membership
IDNameDescription
CWE-1043Data Element Aggregating an Excessively Large Number of Non-Primitive ElementsThis weakness occurs when a data structure, like a class or object, contains too many complex sub-elements (e.g., other objects or structs) instead of simple primitive types.
CWE-1047Modules with Circular DependenciesThis weakness occurs when software modules have circular references, meaning Module A depends on Module B, which in turn depends back on Module A, creating a closed loop.
CWE-1055Multiple Inheritance from Concrete ClassesThis weakness occurs when a single class inherits functionality and state from more than one concrete (fully implemented) parent class.
CWE-1056Invokable Control Element with Variadic ParametersThis weakness occurs when a callable function or method is defined to accept a variable number of arguments (variadic parameters).
CWE-1060Excessive Number of Inefficient Server-Side Data AccessesThis weakness occurs when an application makes an excessive number of individual data queries to a server or database, instead of using more efficient methods like stored procedures or batch operations.
CWE-1064Invokable Control Element with Signature Containing an Excessive Number of ParametersThis weakness occurs when a function, method, or subroutine is defined with an unnecessarily high number of parameters in its signature.
CWE-1074Class with Excessively Deep InheritanceThis weakness occurs when a class inherits from an excessive number of parent classes, creating a deep and complex inheritance hierarchy.
CWE-1075Unconditional Control Flow Transfer outside of Switch BlockThis weakness occurs when code uses an unconditional jump, like a 'goto' statement, outside of a structured control flow block like a switch statement. This bypasses the intended logic and makes the program's execution path unpredictable and difficult to follow.
CWE-1080Source Code File with Excessive Number of Lines of CodeThis weakness occurs when a single source code file grows excessively large, containing too many lines of code.
CWE-1086Class with Excessive Number of Child ClassesThis weakness occurs when a parent class has an excessive number of child classes that inherit from it, creating a deep and overly complex inheritance tree.
CWE-1095Loop Condition Value Update within the LoopThis vulnerability occurs when a loop's exit condition depends on a variable that is also modified inside the loop body. This creates a complex and often unpredictable control flow that is difficult to analyze.
CWE-1119Excessive Use of Unconditional BranchingThis weakness occurs when code relies heavily on unconditional jumps like 'goto' statements, making the program flow difficult to follow.
CWE-1121Excessive McCabe Cyclomatic ComplexityThis weakness occurs when a function or method has an overly complex control flow, measured by a high McCabe Cyclomatic Complexity score. This makes the code difficult to read, test, and maintain.
CWE-1122Excessive Halstead ComplexityThis weakness occurs when code has an excessively high Halstead complexity score, indicating it is overly intricate and difficult to analyze.
CWE-1123Excessive Use of Self-Modifying CodeThe software relies heavily on code that rewrites itself during execution, making it difficult to analyze and maintain.
CWE-1124Excessively Deep NestingThis weakness occurs when a function, method, or code block contains too many levels of nested loops, conditionals, or other control structures, making the logic path difficult to follow.
CWE-1125Excessive Attack SurfaceThis weakness occurs when a software product has an unnecessarily large number of entry and exit points that an attacker can target, exceeding a reasonable and secure threshold.
CWE-1333Inefficient Regular Expression ComplexityThis vulnerability occurs when an application uses a poorly constructed regular expression that can trigger catastrophic backtracking, leading to extreme CPU consumption and potential denial-of-service.
CWE-699Software DevelopmentThis view organizes weaknesses around concepts that are frequently used or encountered in software development. This includes all aspects of the software development lifecycle including both architecture and implementation. Accordingly, this view can align closely with the perspectives of architects, developers, educators, and assessment vendors. It provides a variety of categories that are intended to simplify navigation, browsing, and mapping.
Vulnerability Mapping Notes
Usage: Prohibited
Reasons: Category
Rationale:
This entry is a Category. Using categories for mapping has been discouraged since 2019. Categories are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.
Comment:
See member weaknesses of this category.