483
Description
Integer coercion refers to a set of flaws pertaining to the type casting, extension, or truncation of
primitive data types.
Extended Description
Several flaws fall under the category of integer coercion errors. For the most part, these errors
in and of themselves result only in availability and data integrity issues. However, in some
circumstances, they may result in other, more complicated security related flaws, such as buffer
overflow conditions.
Relationships
The table(s) below shows the weaknesses and high level categories that are related to this
weakness. These relationships are defined as ChildOf, ParentOf, MemberOr and give insight to
similar items that may exist at higher and lower levels of abstraction. In addition, relationships such
as PeerOf and CanAlsoBe are defined to show similar weaknesses that may want to be explored.
Relevant to the view "Research Concepts" (CWE-1000)
Nature Type ID Name Page
ChildOf 681 Incorrect Conversion between Numeric Types 1495
Applicable Platforms
Language : C (Prevalence = Undetermined)
Language : C++ (Prevalence = Undetermined)
Language : Java (Prevalence = Undetermined)
Language : C# (Prevalence = Undetermined)
Likelihood Of Exploit
Medium
Common Consequences
Scope Impact Likelihood
Availability DoS: Resource Consumption (CPU)
DoS: Resource Consumption (Memory)
DoS: Crash, Exit, or Restart
Integer coercion often leads to undefined states of
execution resulting in infinite loops or crashes.
Integrity
Confidentiality
Availability
Execute Unauthorized Code or Commands
In some cases, integer coercion errors can lead to
exploitable buffer overflow conditions, resulting in the
execution of arbitrary code.
Integrity
Other
Other
Integer coercion errors result in an incorrect value being
stored for the variable in question.
Detection Methods
Automated Static Analysis
Automated static analysis, commonly referred to as Static Application Security Testing (SAST),
can find some instances of this weakness by analyzing source code (or binary/compiled code)
without having to execute it. Typically, this is done by building a model of data flow and control
flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input)
with "sinks" (destinations where the data interacts with external components, a lower layer such
as the OS, etc.)
CWE Version 4.14
CWE-192: Integer Coercion Error
CWE-192: Integer Coercion Error