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.

Project Subscriptions

Vendors Products
Vyperlang Subscribe
Advisories

No advisories yet.

Fixes

Solution

No solution given by the vendor.


Workaround

No workaround given by the vendor.

History

Wed, 21 Oct 2026 00:45:00 +0000

Type Values Removed Values Added
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.
Title Vyper before 0.3.1 Improper Input Validation of uint8 Interface Return Values
First Time appeared Vyperlang
Vyperlang vyper
Weaknesses CWE-20
CPEs cpe:2.3:a:vyperlang:vyper:*:*:*:*:*:*:*:*
Vendors & Products Vyperlang
Vyperlang vyper
References
Metrics cvssV3_1

{'score': 3.7, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N'}

cvssV4_0

{'score': 6.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N'}


Projects

Sign in to view the affected projects.

cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-10-21T00:36:17.573Z

Reserved: 2026-10-20T21:53:41.760Z

Link: CVE-2020-37289

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-21T01:17:18.830

Modified: 2026-10-21T01:17:18.830

Link: CVE-2020-37289

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-21T12:30:17Z

Weaknesses