CVE-2020-37289

Vyper before 0.3.1 Improper Input Validation of uint8 Interface Return Values

State
Published
Severity
6.3 Medium
Published
Oct 21, 2026
Updated
Oct 28, 2026
Reserved
Oct 20, 2026

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
4.06.3 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:NVulnCheck
3.13.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:NVulnCheck

Weaknesses

  • CWE-20 Improper Input Validation

Affected Products

ProductVersions
vypervyperlang
  • before 0.3.1Affected
  • 0.3.1Not affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.