CVE-2020-37289

LOWCVSS 3.7/10EPSS 0.26%

Last modified

CVE-2020-37289 is a low-severity vulnerability rated 3.7/10 on the CVSS scale. Vyper before 0.3.1 lacks a uint8 type, allowing interface return values declared as uint8, such as ERC20.decimals(), to be stored in uint256 variables without bounds checking. Malicious contracts can return values greater than 255 to manipulate or bypass contract logic that relies on these values.. EPSS estimates a 0.26% chance of exploitation in the next 30 days.

Description

Vyper before 0.3.1 lacks a uint8 type, allowing interface return values declared as uint8, such as ERC20.decimals(), to be stored in uint256 variables without bounds checking. Malicious contracts can return values greater than 255 to manipulate or bypass contract logic that relies on these values.

Metrics

Weakness Enumeration

Affected Software

Source: CNA advisory (CVE.org). NVD analysis pending.

VendorProductVersions
vyperlangvyper< 0.3.1

References

Timeline

Published
Last Modified
Status
Deferred

Frequently Asked Questions

What is CVE-2020-37289?
Vyper before 0.3.1 lacks a uint8 type, allowing interface return values declared as uint8, such as ERC20.decimals(), to be stored in uint256 variables without bounds checking. Malicious contracts can return values greater than 255 to manipulate or bypass contract logic that relies on these values.
How severe is CVE-2020-37289?
CVE-2020-37289 has a CVSS score of 3.7/10 (LOW severity). The EPSS model estimates a 0.26% probability of exploitation in the next 30 days.
How do I fix CVE-2020-37289?
Check the vendor references and advisories linked above for patched versions and mitigation guidance. You can also run a Strix scan to test if your systems are affected.

How Strix Helps

Related CVEs from 2020

Are you affected by CVE-2020-37289?

Run a free Strix scan to check your systems for this vulnerability.

Scan your code now

Source: NVD / NIST