Vulnerability · Published Oct 21, 2026 · Assigned by VulnCheck

CVE-2020-37289Vyper before 0.3.1 Improper Input Validation of uint8 Interface Return Values

Low 3.7

In plain English

A low-severity improper input validation in vyper from vyperlang. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 18% of all known vulnerabilities).

Severity (CVSS 3.1)3.7Low
Exploit odds (30 days)0.3%top 82.0% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official 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.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
PyPIvyperno fix listedGHSA-mr6r-mvw4-736g

Affected products (as reported)

VendorProductVersions
vyperlang vyper 0 – before 0.3.1

Weakness: CWE-20 · Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N

References