CWE VIEW: Weaknesses Addressed by the SEI CERT Perl Coding Standard
CWE entries in this view (graph) are fully or partially eliminated by following the guidance presented in the online wiki that reflects that current rules and recommendations of the SEI CERT Perl Coding Standard.
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:
1178 - Weaknesses Addressed by the SEI CERT Perl Coding Standard
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1179
(SEI CERT Perl Coding Standard - Guidelines 01. Input Validation and Data Sanitization (IDS))
Weaknesses in this category are related to the rules and recommendations in the Input Validation and Data Sanitization (IDS) section of the SEI CERT Perl Coding Standard.
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1179
(SEI CERT Perl Coding Standard - Guidelines 01. Input Validation and Data Sanitization (IDS)) >
22
(Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal'))
The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.
Directory traversal
Path traversal
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1179
(SEI CERT Perl Coding Standard - Guidelines 01. Input Validation and Data Sanitization (IDS)) >
134
(Use of Externally-Controlled Format String)
The product uses a function that accepts a format string as an argument, but the format string originates from an external source.
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1179
(SEI CERT Perl Coding Standard - Guidelines 01. Input Validation and Data Sanitization (IDS)) >
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
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1179
(SEI CERT Perl Coding Standard - Guidelines 01. Input Validation and Data Sanitization (IDS)) >
789
(Memory Allocation with Excessive Size Value)
The product allocates memory based on an untrusted, large size value, but it does not ensure that the size is within expected limits, allowing arbitrary amounts of memory to be allocated.
Stack Exhaustion
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1179
(SEI CERT Perl Coding Standard - Guidelines 01. Input Validation and Data Sanitization (IDS)) >
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
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1179
(SEI CERT Perl Coding Standard - Guidelines 01. Input Validation and Data Sanitization (IDS)) >
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
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1179
(SEI CERT Perl Coding Standard - Guidelines 01. Input Validation and Data Sanitization (IDS)) >
95
(Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection'))
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes code syntax before using the input in a dynamic evaluation call (e.g. "eval").
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1180
(SEI CERT Perl Coding Standard - Guidelines 02. Declarations and Initialization (DCL))
Weaknesses in this category are related to the rules and recommendations in the Declarations and Initialization (DCL) section of the SEI CERT Perl Coding Standard.
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1180
(SEI CERT Perl Coding Standard - Guidelines 02. Declarations and Initialization (DCL)) >
628
(Function Call with Incorrectly Specified Arguments)
The product calls a function, procedure, or routine with arguments that are not correctly specified, leading to always-incorrect behavior and resultant weaknesses.
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1180
(SEI CERT Perl Coding Standard - Guidelines 02. Declarations and Initialization (DCL)) >
456
(Missing Initialization of a Variable)
The product does not initialize critical variables, which causes the execution environment to use unexpected values.
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1180
(SEI CERT Perl Coding Standard - Guidelines 02. Declarations and Initialization (DCL)) >
457
(Use of Uninitialized Variable)
The code uses a variable that has not been initialized, leading to unpredictable or unintended results.
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1180
(SEI CERT Perl Coding Standard - Guidelines 02. Declarations and Initialization (DCL)) >
477
(Use of Obsolete Function)
The code uses deprecated or obsolete functions, which suggests that the code has not been actively reviewed or maintained.
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1181
(SEI CERT Perl Coding Standard - Guidelines 03. Expressions (EXP))
Weaknesses in this category are related to the rules and recommendations in the Expressions (EXP) section of the SEI CERT Perl Coding Standard.
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1181
(SEI CERT Perl Coding Standard - Guidelines 03. Expressions (EXP)) >
394
(Unexpected Status Code or Return Value)
The product does not properly check when a function or operation returns a value that is legitimate for the function, but is not expected by the product.
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1181
(SEI CERT Perl Coding Standard - Guidelines 03. Expressions (EXP)) >
783
(Operator Precedence Logic Error)
The product uses an expression in which operator precedence causes incorrect logic to be used.
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1181
(SEI CERT Perl Coding Standard - Guidelines 03. Expressions (EXP)) >
477
(Use of Obsolete Function)
The code uses deprecated or obsolete functions, which suggests that the code has not been actively reviewed or maintained.
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1181
(SEI CERT Perl Coding Standard - Guidelines 03. Expressions (EXP)) >
248
(Uncaught Exception)
An exception is thrown from a function, but it is not caught.
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1181
(SEI CERT Perl Coding Standard - Guidelines 03. Expressions (EXP)) >
391
(Unchecked Error Condition)
[PLANNED FOR DEPRECATION. SEE MAINTENANCE NOTES AND CONSIDER CWE-252, CWE-248, OR CWE-1069.] Ignoring exceptions and other error conditions may allow an attacker to induce unexpected behavior unnoticed.
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1181
(SEI CERT Perl Coding Standard - Guidelines 03. Expressions (EXP)) >
460
(Improper Cleanup on Thrown Exception)
The product does not clean up its state or incorrectly cleans up its state when an exception is thrown, leading to unexpected state or control flow.
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1181
(SEI CERT Perl Coding Standard - Guidelines 03. Expressions (EXP)) >
705
(Incorrect Control Flow Scoping)
The product does not properly return control flow to the proper location after it has completed a task or detected an unusual condition.
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1181
(SEI CERT Perl Coding Standard - Guidelines 03. Expressions (EXP)) >
754
(Improper Check for Unusual or Exceptional Conditions)
The product does not check or incorrectly checks for unusual or exceptional conditions that are not expected to occur frequently during day to day operation of the product.
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1181
(SEI CERT Perl Coding Standard - Guidelines 03. Expressions (EXP)) >
252
(Unchecked Return Value)
The product does not check the return value from a method or function, which can prevent it from detecting unexpected states and conditions.
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1181
(SEI CERT Perl Coding Standard - Guidelines 03. Expressions (EXP)) >
690
(Unchecked Return Value to NULL Pointer Dereference)
The product does not check for an error after calling a function that can return with a NULL pointer if the function fails, which leads to a resultant NULL pointer dereference.
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1181
(SEI CERT Perl Coding Standard - Guidelines 03. Expressions (EXP)) >
628
(Function Call with Incorrectly Specified Arguments)
The product calls a function, procedure, or routine with arguments that are not correctly specified, leading to always-incorrect behavior and resultant weaknesses.
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1181
(SEI CERT Perl Coding Standard - Guidelines 03. Expressions (EXP)) >
375
(Returning a Mutable Object to an Untrusted Caller)
Sending non-cloned mutable data as a return value may result in that data being altered or deleted by the calling function.
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1181
(SEI CERT Perl Coding Standard - Guidelines 03. Expressions (EXP)) >
597
(Use of Wrong Operator in String Comparison)
The product uses the wrong operator when comparing a string, such as using "==" when the .equals() method should be used instead.
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1182
(SEI CERT Perl Coding Standard - Guidelines 04. Integers (INT))
Weaknesses in this category are related to the rules and recommendations in the Integers (INT) section of the SEI CERT Perl Coding Standard.
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1182
(SEI CERT Perl Coding Standard - Guidelines 04. Integers (INT)) >
189
(Numeric Errors)
Weaknesses in this category are related to improper calculation or conversion of numbers.
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1183
(SEI CERT Perl Coding Standard - Guidelines 05. Strings (STR))
Weaknesses in this category are related to the rules and recommendations in the Strings (STR) section of the SEI CERT Perl Coding Standard.
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1184
(SEI CERT Perl Coding Standard - Guidelines 06. Object-Oriented Programming (OOP))
Weaknesses in this category are related to the rules and recommendations in the Object-Oriented Programming (OOP) section of the SEI CERT Perl Coding Standard.
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1184
(SEI CERT Perl Coding Standard - Guidelines 06. Object-Oriented Programming (OOP)) >
767
(Access to Critical Private Variable via Public Method)
The product defines a public method that reads or modifies a private variable.
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1185
(SEI CERT Perl Coding Standard - Guidelines 07. File Input and Output (FIO))
Weaknesses in this category are related to the rules and recommendations in the File Input and Output (FIO) section of the SEI CERT Perl Coding Standard.
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1185
(SEI CERT Perl Coding Standard - Guidelines 07. File Input and Output (FIO)) >
59
(Improper Link Resolution Before File Access ('Link Following'))
The product attempts to access a file based on the filename, but it does not properly prevent that filename from identifying a link or shortcut that resolves to an unintended resource.
insecure temporary file
Zip Slip
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1186
(SEI CERT Perl Coding Standard - Guidelines 50. Miscellaneous (MSC))
Weaknesses in this category are related to the rules and recommendations in the Miscellaneous (MSC) section of the SEI CERT Perl Coding Standard.
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1186
(SEI CERT Perl Coding Standard - Guidelines 50. Miscellaneous (MSC)) >
561
(Dead Code)
The product contains dead code, which can never be executed.
![]() ![]()
1178
(Weaknesses Addressed by the SEI CERT Perl Coding Standard) >
1186
(SEI CERT Perl Coding Standard - Guidelines 50. Miscellaneous (MSC)) >
563
(Assignment to Variable without Use)
The variable's value is assigned but never used, making it a dead store.
Unused Variable
Relationship
The relationships in this view were determined based on specific statements within the rules from the standard. Not all rules have direct relationships to individual weaknesses, although they likely have chaining relationships in specific circumstances.
More information is available — Please edit the custom filter or select a different filter. |
Use of the Common Weakness Enumeration (CWE™) and the associated references from this website are subject to the Terms of Use. CWE is sponsored by the U.S. Department of Homeland Security (DHS) Cybersecurity and Infrastructure Security Agency (CISA) and managed by the Homeland Security Systems Engineering and Development Institute (HSSEDI) which is operated by The MITRE Corporation (MITRE). Copyright © 2006–2025, The MITRE Corporation. CWE, CWSS, CWRAF, and the CWE logo are trademarks of The MITRE Corporation. |