CWE-184: Incomplete List of Disallowed Inputs
Description
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.
- Abstraction
- BaseA weakness specific enough to point to detection and prevention methods.
- Likelihood of exploit
- Not rated by MITRE
- Status
- Draft
Common consequences
- Access Control
Bypass Protection Mechanism
Attackers may be able to find other malicious inputs that were not expected by the developer, allowing them to bypass the intended protection mechanism.
Potential mitigations
- ImplementationInput Validation
Do not rely exclusively on detecting disallowed inputs. There are too many variants to encode a character, especially when different environments are used, so there is a high likelihood of missing some variants. Only use detection of disallowed inputs as a mechanism for detecting suspicious activity. Ensure that you are using other protection mechanisms that only identify good input - such as lists of allowed inputs - and ensure that you are properly encoding your outputs.
Related weaknesses
Parent weaknesses
Child weaknesses
Can lead to
- CWE-79Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
- CWE-78Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')
- CWE-434Unrestricted Upload of File with Dangerous Type
- CWE-98Improper Control of Filename for Include/Require Statement in PHP Program ('PHP Remote File Inclusion')
CAPEC attack patterns that exploit it
- CAPEC-3Using Leading 'Ghost' Character Sequences to Bypass Input Filters
- CAPEC-6Argument Injection
- CAPEC-15Command Delimiters
- CAPEC-43Exploiting Multiple Input Interpretation Layers
- CAPEC-71Using Unicode Encoding to Bypass Validation Logic
- CAPEC-73User-Controlled Filename
- CAPEC-85AJAX Footprinting
- CAPEC-120Double Encoding
- CAPEC-182Flash Injection