CWE-1284 · Słabość
Improper Validation of Specified Quantity in Input
- Abstrakcja
- Bazowa
- Status
- Niekompletny
- Dodano
- 24 czerwca 2020
- Ostatnia zmiana
- 30 kwietnia 2026
Opis
The product receives input that is expected to specify a quantity (such as size or length), but it does not validate or incorrectly validates that the quantity has the required properties.
Specified quantities include size, length, frequency, price, rate, number of operations, time, and others. Code may rely on specified quantities to allocate resources, perform calculations, control iteration, etc.
Skutki
Other, Integrity, Availability
Varies by Context; DoS: Resource Consumption (CPU); Modify Memory; Read Memory
When the quantity is not properly validated, then attackers can specify malicious quantities to cause excessive resource allocation, trigger unexpected failures, enable buffer overflows, etc.
Zapobieganie
Implementation · Input Validation
Assume all input is malicious. Use an "accept known good" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does.
When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, "boat" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as "red" or "blue."
Do not rely exclusively on looking for malicious or malformed inputs. This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, denylists can be useful for detecting potential attacks or determining which inputs are so malformed that they should be rejected outright.
Skuteczność: High
Przykłady podatności
- CVE-2025-4037 ATM simulator does not check for negative values with deposits or withdrawals, allowing attackers to increase their balance
- CVE-2025-46687 Chain: Javascript engine code does not perform a length check (CWE-1284) leading to integer overflow (CWE-190) causing allocation of smaller buffer than expected (CWE-131) resulting in a heap-based buffer overflow (CWE-122)
- CVE-2019-19911 Chain: Python library does not limit the resources used to process images that specify a very large number of bands (CWE-1284), leading to excessive memory consumption (CWE-789) or an integer overflow (CWE-190).
- CVE-2008-1440 lack of validation of length field leads to infinite loop
- CVE-2008-2374 lack of validation of string length fields allows memory consumption or buffer over-read
Słabość nadrzędna
Może prowadzić do
Słabości podrzędne
Kiedy powstaje
- Implementation — Since quantities are often used to affect resource allocation or process financial data, they are often present in many places in the code.
Dotyczy
Not Language-Specific
Uwagi
This entry is still under development and will continue to see updates and content improvements.
Wpis z katalogu CWE 4.20.