An application uses a "whitelist" of acceptable values, but the
whitelist includes at least one unsafe value, leading to resultant
weaknesses.
Time of Introduction
Implementation
Applicable Platforms
Languages
All
Potential Mitigations
Phase
Description
Define rigid requirements specifications for input and strictly accept
input based on those specifications. Determine if any of the valid data
include special characters that are associated with security exploits
(use this taxonomy and the Common Vulnerabilities and Exposures as a
start to determine what characters are potentially malicious). If
permitted, then follow the potential mitigations associated with the
weaknesses in this taxonomy. Always handle these data carefully and
anticipate attempts to exploit your system.
Architecture and Design
Assume all input is malicious. Use a standard input validation
mechanism to validate all input for length, type, syntax, and business
rules before accepting the data to be displayed or stored. Use an
"accept known good" validation strategy.
Weakness Ordinalities
Ordinality
Description
Primary
(where the
weakness exists independent of other weaknesses)