VariantIncomplete
CWE-194Unexpected Sign Extension
Category: other
Description
The product performs an operation on a number that causes it to be sign extended when it is transformed into a larger data type. When the original number is negative, this can produce unexpected values that lead to resultant weaknesses.
Common consequences· 1
- Integrity / Confidentiality / Availability / Other — Read Memory, Modify Memory, OtherWhen an unexpected sign extension occurs in code that operates directly on memory buffers, such as a size value or a memory index, then it could cause the program to write or read outside the boundaries of the intended buffer. If the numeric value is associated with an application-level resource, such as a quantity or price for a product in an e-commerce site, then the sign extension could produce a value that is much higher (or lower) than the application's allowable range.
Potential mitigations· 1
- [Implementation]Avoid using signed variables if you don't need to represent negative values. When negative values are needed, perform validation after you save those values to larger data types, or before passing them to functions that are expecting unsigned values.
References
Related by meaning· 6
Nearest entities by semantic similarity across the cs-graph corpus.