CWE-681: Incorrect Conversion between Numeric Types

BaseDraftExploit Likelihood: High

When converting from one data type to another, such as long to integer, data can be omitted or translated in a way that produces unexpected values. If the resulting values are used in a sensitive context, then dangerous behaviors may occur.

View on MITRE
Back to CWE Lookup

Technical Details

Structure
Simple

Applicable To

Languages
CNot Language-Specific
Platforms

Frequently Asked Questions

What is CWE-681: Incorrect Conversion between Numeric Types?+

CWE-681: Incorrect Conversion between Numeric Types is a Common Weakness Enumeration (CWE) entry maintained by MITRE. When converting from one data type to another, such as long to integer, data can be omitted or translated in a way that produces unexpected values. If the resulting values are used in a sensitive context, then dangerous behaviors may occur.

What are the security consequences of Incorrect Conversion between Numeric Types?+

If exploited, CWE-681 (Incorrect Conversion between Numeric Types) it can compromise Other and Integrity, leading to outcomes such as Unexpected State and Quality Degradation.

How do you prevent or mitigate Incorrect Conversion between Numeric Types?+

Recommended mitigations for CWE-681 include: Avoid making conversion between numeric types. Always check for the allowed ranges.

Which programming languages are affected by Incorrect Conversion between Numeric Types?+

CWE-681 commonly affects C and Not Language-Specific. Note that weaknesses are often language-agnostic patterns, so secure coding practices apply broadly.

What are real-world examples of Incorrect Conversion between Numeric Types?+

MITRE documents real CVEs mapped to CWE-681, including CVE-2022-2639, CVE-2021-43537, CVE-2007-4268, CVE-2007-4988 and CVE-2009-0231. You can look up the full details of each CVE, including CVSS scores and remediation guidance, on our CVE Lookup tool.

What is the difference between a CWE and a CVE?+

A CWE (Common Weakness Enumeration) like CWE-681 describes a category of software weakness — the underlying flaw type. A CVE (Common Vulnerabilities and Exposures) identifies a specific, real-world vulnerability in a particular product. In short, a CWE is the kind of mistake, and a CVE is an instance of that mistake being found in software.

Learn More