CWE-228 · Słabość
Improper Handling of Syntactically Invalid Structure
- Abstrakcja
- Klasa
- Status
- Niekompletny
- Dodano
- 19 lipca 2006
- Ostatnia zmiana
- 11 grudnia 2025
Opis
The product does not handle or incorrectly handles input that is not syntactically well-formed with respect to the associated specification.
Skutki
Integrity, Availability
Unexpected State; DoS: Crash, Exit, or Restart; DoS: Resource Consumption (CPU)
If an input is syntactically invalid, then processing the input could place the system in an unexpected state that could lead to a crash, consume available system resources or other unintended behaviors.
Przykłady podatności
- CVE-2004-0270 Anti-virus product has assert error when line length is non-numeric.
Słabość nadrzędna
Słabości podrzędne
- CWE-166 Improper Handling of Missing Special Element
- CWE-167 Improper Handling of Additional Special Element
- CWE-168 Improper Handling of Inconsistent Special Elements
- CWE-229 Improper Handling of Values
- CWE-233 Improper Handling of Parameters
- CWE-237 Improper Handling of Structural Elements
- CWE-241 Improper Handling of Unexpected Data Type
Kiedy powstaje
- Implementation
Dotyczy
Not Language-Specific
Uwagi
This entry needs more investigation. Public vulnerability research generally focuses on the manipulations that generate invalid structure, instead of the weaknesses that are exploited by those manipulations. For example, a common attack involves making a request that omits a required field, which can trigger a crash in some cases. The crash could be due to a named chain such as CWE-690 (Unchecked Return Value to NULL Pointer Dereference), but public reports rarely cover this aspect of a vulnerability.
The validity of input could be roughly classified along "syntactic", "semantic", and "lexical" dimensions. If the specification requires that an input value should be delimited with the "[" and "]" square brackets, then any input that does not follow this specification would be syntactically invalid. If the input between the brackets is expected to be a number, but the letters "aaa" are provided, then the input is syntactically invalid. If the input is a number and enclosed in brackets, but the number is outside of the allowable range, then it is semantically invalid. The inter-relationships between these properties - and their associated weaknesses- need further exploration.
Wpis z katalogu CWE 4.20.