Name |
Integer Attacks |
|
Likelyhood of attack |
Typical severity |
High |
Medium |
|
Summary |
An attacker takes advantage of the structure of integer variables to cause these variables to assume values that are not expected by an application. For example, adding one to the largest positive integer in a signed integer variable results in a negative number. Negative numbers may be illegal in an application and the application may prevent an attacker from providing them directly, but the application may not consider that adding two positive numbers can create a negative number do to the structure of integer storage formats. |
Prerequisites |
The target application must have an integer variable for which only some of the possible integer values are expected by the application and where there are no checks on the value of the variable before use. The attacker must be able to manipulate the targeted integer variable such that normal operations result in non-standard values due to the storage structure of integers. |
Solutions | |
Related Weaknesses |
CWE ID
|
Description
|
CWE-682 |
Incorrect Calculation |
|
Related CAPECS |
CAPEC ID
|
Description
|
CAPEC-153 |
An attacker exploits a weakness in input validation by controlling the format, structure, and composition of data to an input-processing interface. By supplying input of a non-standard or unexpected form an attacker can adversely impact the security of the target. For example, using a different character encoding might cause dangerous text to be treated as safe text. Alternatively, the attacker may use certain flags, such as file extensions, to make a target application believe that provided data should be handled using a certain interpreter when the data is not actually of the appropriate type. This can lead to bypassing protection mechanisms, forcing the target to use specific components for input processing, or otherwise causing the user's data to be handled differently than might otherwise be expected. This attack differs from Variable Manipulation in that Variable Manipulation attempts to subvert the target's processing through the value of the input while Input Data Manipulation seeks to control how the input is processed. |
|