This category identifies Software Fault Patterns (SFPs) within the Tainted Input to Command cluster (SFP24).
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Struts: Duplicate Validation Forms - (102)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 102 (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 expect.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Struts: Incomplete validate() Method Definition - (103)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 103 (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().
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Struts: Form Bean Does Not Extend Validation Class - (104)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 104 (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 insufficient input validation.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Struts: Form Field Without Validator - (105)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 105 (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 input validation.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Struts: Plug-in Framework not in Use - (106)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 106 (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 related to insufficient input validation.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Struts: Unused Validation Form - (107)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 107 (Struts: Unused Validation Form)
An unused validation form indicates that validation logic is not up-to-date.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Struts: Unvalidated Action Form - (108)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 108 (Struts: Unvalidated Action Form)
Every Action Form must have a corresponding validation form.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Struts: Validator Turned Off - (109)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 109 (Struts: Validator Turned Off)
Automatic filtering via a Struts bean has been turned off, which disables the Struts Validator and custom validation logic. This exposes the application to other weaknesses related to insufficient input validation.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Struts: Validator Without Form Field - (110)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 110 (Struts: Validator Without Form Field)
Validation fields that do not appear in forms they are associated with indicate that the validation logic is out of date.
Base - a weakness
that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.Missing XML Validation - (112)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 112 (Missing XML Validation)
The product accepts XML from an untrusted source but does not validate the XML against the proper schema.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Request/Response Splitting') - (113)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 113 (Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Request/Response Splitting'))
The product receives data from an HTTP agent/component (e.g., web server, proxy, browser, etc.), but it does not neutralize or incorrectly neutralizes CR and LF characters before the data is included in outgoing HTTP headers.HTTP Request SplittingHTTP Response Splitting
Base - a weakness
that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.Improper Handling of Length Parameter Inconsistency - (130)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 130 (Improper Handling of Length Parameter Inconsistency)
The product parses a formatted message or structure, but it does not handle or incorrectly handles a length field that is inconsistent with the actual length of the associated data.length manipulationlength tampering
Base - a weakness
that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.Use of Externally-Controlled Format String - (134)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 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.
Class - a weakness that is described in a very abstract fashion, typically independent of any specific language or technology. More specific than a Pillar Weakness, but more general than a Base Weakness. Class level weaknesses typically describe issues in terms of 1 or 2 of the following dimensions: behavior, property, and resource.Improper Neutralization of Special Elements - (138)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 138 (Improper Neutralization of Special Elements)
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as control elements or syntactic markers when they are sent to a downstream component.
Base - a weakness
that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Delimiters - (140)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 140 (Improper Neutralization of Delimiters)
The product does not neutralize or incorrectly neutralizes delimiters.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Parameter/Argument Delimiters - (141)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 141 (Improper Neutralization of Parameter/Argument Delimiters)
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as parameter or argument delimiters when they are sent to a downstream component.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Value Delimiters - (142)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 142 (Improper Neutralization of Value Delimiters)
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as value delimiters when they are sent to a downstream component.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Record Delimiters - (143)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 143 (Improper Neutralization of Record Delimiters)
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as record delimiters when they are sent to a downstream component.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Line Delimiters - (144)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 144 (Improper Neutralization of Line Delimiters)
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as line delimiters when they are sent to a downstream component.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Section Delimiters - (145)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 145 (Improper Neutralization of Section Delimiters)
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as section delimiters when they are sent to a downstream component.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Expression/Command Delimiters - (146)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 146 (Improper Neutralization of Expression/Command Delimiters)
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as expression or command delimiters when they are sent to a downstream component.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Input Terminators - (147)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 147 (Improper Neutralization of Input Terminators)
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as input terminators when they are sent to a downstream component.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Input Leaders - (148)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 148 (Improper Neutralization of Input Leaders)
The product does not properly handle when a leading character or sequence ("leader") is missing or malformed, or if multiple leaders are used when only one should be allowed.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Quoting Syntax - (149)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 149 (Improper Neutralization of Quoting Syntax)
Quotes injected into a product can be used to compromise a system. As data are parsed, an injected/absent/duplicate/malformed use of quotes may cause the process to take unexpected actions.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Escape, Meta, or Control Sequences - (150)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 150 (Improper Neutralization of Escape, Meta, or Control Sequences)
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as escape, meta, or control character sequences when they are sent to a downstream component.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Comment Delimiters - (151)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 151 (Improper Neutralization of Comment Delimiters)
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as comment delimiters when they are sent to a downstream component.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Macro Symbols - (152)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 152 (Improper Neutralization of Macro Symbols)
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as macro symbols when they are sent to a downstream component.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Substitution Characters - (153)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 153 (Improper Neutralization of Substitution Characters)
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as substitution characters when they are sent to a downstream component.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Variable Name Delimiters - (154)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 154 (Improper Neutralization of Variable Name Delimiters)
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as variable name delimiters when they are sent to a downstream component.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Wildcards or Matching Symbols - (155)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 155 (Improper Neutralization of Wildcards or Matching Symbols)
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as wildcards or matching symbols when they are sent to a downstream component.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Whitespace - (156)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 156 (Improper Neutralization of Whitespace)
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as whitespace when they are sent to a downstream component.White space
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Failure to Sanitize Paired Delimiters - (157)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 157 (Failure to Sanitize Paired Delimiters)
The product does not properly handle the characters that are used to mark the beginning and ending of a group of entities, such as parentheses, brackets, and braces.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Null Byte or NUL Character - (158)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 158 (Improper Neutralization of Null Byte or NUL Character)
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes NUL characters or null bytes when they are sent to a downstream component.
Class - a weakness that is described in a very abstract fashion, typically independent of any specific language or technology. More specific than a Pillar Weakness, but more general than a Base Weakness. Class level weaknesses typically describe issues in terms of 1 or 2 of the following dimensions: behavior, property, and resource.Improper Handling of Invalid Use of Special Elements - (159)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 159 (Improper Handling of Invalid Use of Special Elements)
The product does not properly filter, remove, quote, or otherwise manage the invalid use of special elements in user-controlled input, which could cause adverse effect on its behavior and integrity.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Leading Special Elements - (160)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 160 (Improper Neutralization of Leading Special Elements)
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes leading special elements that could be interpreted in unexpected ways when they are sent to a downstream component.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Multiple Leading Special Elements - (161)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 161 (Improper Neutralization of Multiple Leading Special Elements)
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes multiple leading special elements that could be interpreted in unexpected ways when they are sent to a downstream component.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Trailing Special Elements - (162)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 162 (Improper Neutralization of Trailing Special Elements)
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes trailing special elements that could be interpreted in unexpected ways when they are sent to a downstream component.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Multiple Trailing Special Elements - (163)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 163 (Improper Neutralization of Multiple Trailing Special Elements)
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes multiple trailing special elements that could be interpreted in unexpected ways when they are sent to a downstream component.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Internal Special Elements - (164)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 164 (Improper Neutralization of Internal Special Elements)
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes internal special elements that could be interpreted in unexpected ways when they are sent to a downstream component.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Multiple Internal Special Elements - (165)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 165 (Improper Neutralization of Multiple Internal Special Elements)
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes multiple internal special elements that could be interpreted in unexpected ways when they are sent to a downstream component.
Base - a weakness
that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.Permissive List of Allowed Inputs - (183)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 183 (Permissive List of Allowed Inputs)
The product implements a protection mechanism that relies on a list of inputs (or properties of inputs) that are explicitly allowed by policy because the inputs are assumed to be safe, but the list is too permissive - that is, it allows an input that is unsafe, leading to resultant weaknesses.Allowlist / Allow ListSafelist / Safe ListWhitelist / White List
Base - a weakness
that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.Incomplete List of Disallowed Inputs - (184)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 184 (Incomplete List of Disallowed Inputs)
The product implements a protection mechanism that relies on a list of inputs (or properties of inputs) that are not allowed by policy or otherwise require other action to neutralize before additional processing takes place, but the list is incomplete.Denylist / Deny ListBlocklist / Block ListBlacklist / Black List
Class - a weakness that is described in a very abstract fashion, typically independent of any specific language or technology. More specific than a Pillar Weakness, but more general than a Base Weakness. Class level weaknesses typically describe issues in terms of 1 or 2 of the following dimensions: behavior, property, and resource.Incorrect Regular Expression - (185)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 185 (Incorrect Regular Expression)
The product specifies a regular expression in a way that causes data to be improperly matched or compared.
Base - a weakness
that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.Overly Restrictive Regular Expression - (186)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 186 (Overly Restrictive Regular Expression)
A regular expression is overly restrictive, which prevents dangerous values from being detected.
Base - a weakness
that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling') - (444)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 444 (Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling'))
The product acts as an intermediary HTTP agent
(such as a proxy or firewall) in the data flow between two
entities such as a client and server, but it does not
interpret malformed HTTP requests or responses in ways that
are consistent with how the messages will be processed by
those entities that are at the ultimate destination.HTTP Request SmugglingHTTP Response SmugglingHTTP Smuggling
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Command Shell in Externally Accessible Directory - (553)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 553 (Command Shell in Externally Accessible Directory)
A possible shell file exists in /cgi-bin/ or other accessible directories. This is extremely dangerous and can be used by an attacker to execute commands on the web server.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.ASP.NET Misconfiguration: Not Using Input Validation Framework - (554)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 554 (ASP.NET Misconfiguration: Not Using Input Validation Framework)
The ASP.NET application does not use an input validation framework.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.SQL Injection: Hibernate - (564)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 564 (SQL Injection: Hibernate)
Using Hibernate to execute a dynamic SQL statement built with user-controlled input can allow an attacker to modify the statement's meaning or to execute arbitrary SQL commands.
Base - a weakness
that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.URL Redirection to Untrusted Site ('Open Redirect') - (601)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 601 (URL Redirection to Untrusted Site ('Open Redirect'))
The web application accepts a user-controlled input that specifies a link to an external site, and uses that link in a redirect.Open RedirectCross-site RedirectCross-domain RedirectUnvalidated Redirect
Base - a weakness
that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.Improper Restriction of XML External Entity Reference - (611)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 611 (Improper Restriction of XML External Entity Reference)
The product processes an XML document that can contain XML entities with URIs that resolve to documents outside of the intended sphere of control, causing the product to embed incorrect documents into its output.XXE
Base - a weakness
that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.Dangling Database Cursor ('Cursor Injection') - (619)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 619 (Dangling Database Cursor ('Cursor Injection'))
If a database cursor is not closed properly, then it could become accessible to other users while retaining the same privileges that were originally assigned, leaving the cursor "dangling."
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Variable Extraction Error - (621)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 621 (Variable Extraction Error)
The product uses external input to determine the names of variables into which information is extracted, without verifying that the names of the specified variables are valid. This could cause the program to overwrite unintended variables.Variable overwrite
Base - a weakness
that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.Executable Regular Expression Error - (624)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 624 (Executable Regular Expression Error)
The product uses a regular expression that either (1) contains an executable component with user-controlled inputs, or (2) allows a user to enable execution by inserting pattern modifiers.
Base - a weakness
that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.Permissive Regular Expression - (625)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 625 (Permissive Regular Expression)
The product uses a regular expression that does not sufficiently restrict the set of allowed values.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Null Byte Interaction Error (Poison Null Byte) - (626)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 626 (Null Byte Interaction Error (Poison Null Byte))
The product does not properly handle null bytes or NUL characters when passing data between different representations or components.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Dynamic Variable Evaluation - (627)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 627 (Dynamic Variable Evaluation)
In a language where the user can influence the name of a variable at runtime, if the variable names are not controlled, an attacker can read or write to arbitrary variables, or access arbitrary functions.Dynamic evaluation
Base - a weakness
that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.Improper Restriction of Names for Files and Other Resources - (641)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 641 (Improper Restriction of Names for Files and Other Resources)
The product constructs the name of a file or other resource using input from an upstream component, but it does not restrict or incorrectly restricts the resulting name.
Base - a weakness
that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Data within XPath Expressions ('XPath Injection') - (643)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 643 (Improper Neutralization of Data within XPath Expressions ('XPath Injection'))
The product uses external input to dynamically construct an XPath expression used to retrieve data from an XML database, but it does not neutralize or incorrectly neutralizes that input. This allows an attacker to control the structure of the query.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of HTTP Headers for Scripting Syntax - (644)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 644 (Improper Neutralization of HTTP Headers for Scripting Syntax)
The product does not neutralize or incorrectly neutralizes web scripting syntax in HTTP headers that can be used by web browser components that can process raw headers, such as Flash.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Reliance on File Name or Extension of Externally-Supplied File - (646)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 646 (Reliance on File Name or Extension of Externally-Supplied File)
The product allows a file to be uploaded, but it relies on the file name or extension of the file to determine the appropriate behaviors. This could be used by attackers to cause the file to be misclassified and processed in a dangerous fashion.
Base - a weakness
that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Data within XQuery Expressions ('XQuery Injection') - (652)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 652 (Improper Neutralization of Data within XQuery Expressions ('XQuery Injection'))
The product uses external input to dynamically construct an XQuery expression used to retrieve data from an XML database, but it does not neutralize or incorrectly neutralizes that input. This allows an attacker to control the structure of the query.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Function Call With Incorrectly Specified Argument Value - (687)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 687 (Function Call With Incorrectly Specified Argument Value)
The product calls a function, procedure, or routine, but the caller specifies an argument that contains the wrong value, which may lead to resultant weaknesses.
Pillar - a weakness that is the most abstract type of weakness and represents a theme for all class/base/variant weaknesses related to it. A Pillar is different from a Category as a Pillar is still technically a type of weakness that describes a mistake, while a Category represents a common characteristic used to group related things.Improper Neutralization - (707)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 707 (Improper Neutralization)
The product does not ensure or incorrectly ensures that structured messages or data are well-formed and that certain security properties are met before being read from an upstream component or sent to a downstream component.
Class - a weakness that is described in a very abstract fashion, typically independent of any specific language or technology. More specific than a Pillar Weakness, but more general than a Base Weakness. Class level weaknesses typically describe issues in terms of 1 or 2 of the following dimensions: behavior, property, and resource.Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection') - (74)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 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.
Class - a weakness that is described in a very abstract fashion, typically independent of any specific language or technology. More specific than a Pillar Weakness, but more general than a Base Weakness. Class level weaknesses typically describe issues in terms of 1 or 2 of the following dimensions: behavior, property, and resource.Failure to Sanitize Special Elements into a Different Plane (Special Element Injection) - (75)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 75 (Failure to Sanitize Special Elements into a Different Plane (Special Element Injection))
The product does not adequately filter user-controlled input for special elements with control implications.
Base - a weakness
that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Equivalent Special Elements - (76)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 76 (Improper Neutralization of Equivalent Special Elements)
The product correctly neutralizes certain special elements, but it improperly neutralizes equivalent special elements.
Class - a weakness that is described in a very abstract fashion, typically independent of any specific language or technology. More specific than a Pillar Weakness, but more general than a Base Weakness. Class level weaknesses typically describe issues in terms of 1 or 2 of the following dimensions: behavior, property, and resource.Improper Neutralization of Special Elements used in a Command ('Command Injection') - (77)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 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
Base - a weakness
that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') - (78)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 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 injectionShell metacharactersOS Command Injection
Base - a weakness
that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') - (79)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 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.XSSHTML InjectionCSS
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Script-Related HTML Tags in a Web Page (Basic XSS) - (80)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 80 (Improper Neutralization of Script-Related HTML Tags in a Web Page (Basic XSS))
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special characters such as "<", ">", and "&" that could be interpreted as web-scripting elements when they are sent to a downstream component that processes web pages.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Script in an Error Message Web Page - (81)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 81 (Improper Neutralization of Script in an Error Message Web Page)
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special characters that could be interpreted as web-scripting elements when they are sent to an error page.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Script in Attributes of IMG Tags in a Web Page - (82)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 82 (Improper Neutralization of Script in Attributes of IMG Tags in a Web Page)
The web application does not neutralize or incorrectly neutralizes scripting elements within attributes of HTML IMG tags, such as the src attribute.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Script in Attributes in a Web Page - (83)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 83 (Improper Neutralization of Script in Attributes in a Web Page)
The product does not neutralize or incorrectly neutralizes "javascript:" or other URIs from dangerous attributes within tags, such as onmouseover, onload, onerror, or style.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Encoded URI Schemes in a Web Page - (84)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 84 (Improper Neutralization of Encoded URI Schemes in a Web Page)
The web application improperly neutralizes user-controlled input for executable script disguised with URI encodings.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Doubled Character XSS Manipulations - (85)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 85 (Doubled Character XSS Manipulations)
The web application does not filter user-controlled input for executable script disguised using doubling of the involved characters.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Invalid Characters in Identifiers in Web Pages - (86)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 86 (Improper Neutralization of Invalid Characters in Identifiers in Web Pages)
The product does not neutralize or incorrectly neutralizes invalid characters or byte sequences in the middle of tag names, URI schemes, and other identifiers.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Alternate XSS Syntax - (87)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 87 (Improper Neutralization of Alternate XSS Syntax)
The product does not neutralize or incorrectly neutralizes user-controlled input for alternate script syntax.
Base - a weakness
that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Argument Delimiters in a Command ('Argument Injection') - (88)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 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.
Base - a weakness
that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') - (89)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 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 injectionSQLi
Base - a weakness
that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Special Elements used in an LDAP Query ('LDAP Injection') - (90)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 90 (Improper Neutralization of Special Elements used in an LDAP Query ('LDAP Injection'))
The product constructs all or part of an LDAP query using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended LDAP query when it is sent to a downstream component.
Base - a weakness
that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.XML Injection (aka Blind XPath Injection) - (91)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 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.
Base - a weakness
that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of CRLF Sequences ('CRLF Injection') - (93)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 93 (Improper Neutralization of CRLF Sequences ('CRLF Injection'))
The product uses CRLF (carriage return line feeds) as a special element, e.g. to separate lines or records, but it does not neutralize or incorrectly neutralizes CRLF sequences from inputs.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection') - (95)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 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").
Base - a weakness
that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Directives in Statically Saved Code ('Static Code Injection') - (96)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 96 (Improper Neutralization of Directives in Statically Saved Code ('Static Code Injection'))
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes code syntax before inserting the input into an executable resource, such as a library, configuration file, or template.
Variant - a weakness
that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.Improper Neutralization of Server-Side Includes (SSI) Within a Web Page - (97)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 97 (Improper Neutralization of Server-Side Includes (SSI) Within a Web Page)
The product generates a web page, but does not neutralize or incorrectly neutralizes user-controllable input that could be interpreted as a server-side include (SSI) directive.
Class - a weakness that is described in a very abstract fashion, typically independent of any specific language or technology. More specific than a Pillar Weakness, but more general than a Base Weakness. Class level weaknesses typically describe issues in terms of 1 or 2 of the following dimensions: behavior, property, and resource.Improper Control of Resource Identifiers ('Resource Injection') - (99)888 (Software Fault Pattern (SFP) Clusters) > 896 (SFP Primary Cluster: Tainted Input) > 990 (SFP Secondary Cluster: Tainted Input to Command) > 99 (Improper Control of Resource Identifiers ('Resource Injection'))
The product receives input from an upstream component, but it does not restrict or incorrectly restricts the input before it is used as an identifier for a resource that may be outside the intended sphere of control.Insecure Direct Object Reference