CWE-1173: Improper Use of Validation Framework
Description
The product does not use, or incorrectly uses, an input validation framework that is provided by the source language or an independent library.
Many modern coding languages provide developers with input validation frameworks to make the task of input validation easier and less error-prone. These frameworks will automatically check all input against specified criteria and direct execution to error handlers when invalid input is received. The improper use (i.e., an incorrect implementation or missing altogether) of these frameworks is not directly exploitable, but can lead to an exploitable condition if proper input validation is not performed later in the product. Not using provided input validation frameworks can also hurt the maintainability of code as future developers may not recognize the downstream input validation being used in the place of the validation framework.
- Abstraction
- BaseA weakness specific enough to point to detection and prevention methods.
- Likelihood of exploit
- Not rated by MITRE
- Status
- Draft
Common consequences
- Integrity
Unexpected State
Unchecked input leads to cross-site scripting, process control, and SQL injection vulnerabilities, among others.
Potential mitigations
- Implementation
Properly use provided input validation frameworks.
Related weaknesses
Parent weaknesses
Child weaknesses
- CWE-102Struts: Duplicate Validation Forms
- CWE-105Struts: Form Field Without Validator
- CWE-106Struts: Plug-in Framework not in Use
- CWE-108Struts: Unvalidated Action Form
- CWE-109Struts: Validator Turned Off
- CWE-554ASP.NET Misconfiguration: Not Using Input Validation Framework
- CWE-1174ASP.NET Misconfiguration: Improper Model Validation
CAPEC attack patterns that exploit it
CWE 4.20 links no CAPEC attack pattern to this weakness.