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.
Published: 2026-10-21
Score: 6.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Analysis and contextual insights are available on OpenCVE Cloud.

Remediation

No vendor fix or workaround currently provided.

Additional remediation guidance may be available on OpenCVE Cloud.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

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'}


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
  • CWE-20

    Improper Input Validation