CVE-2020-37289
lowVyper 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…
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.
CVSS
3.7
3.7 (CVSS v3.1)
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N Severity source: NVD CVSS v3.1 (disclosure@vulncheck.com)
Timeline (UTC)
Published: 2026-10-21 01:17
Modified: 2026-10-28 16:16
NVD status: Deferred
Last synced 12 hours ago
Verified against the source API 2026-10-28 16:34 UTC
Exploitation
Not listed in CISA KEV (as of last catalog sync)
Absence from KEV does not mean a CVE is not exploited. Exploitation status: unknown (no authoritative evidence in our sources).
Affected products
Not reported by the source (unknown — not "none").
Weakness classification (CWE)
Source: NVD / CISA. “NVD-CWE-Other” and “NVD-CWE-noinfo” mean NVD could not assign a specific weakness.
Mitigation & advisories
No vendor advisory or patch reference tagged by NVD. Check the references below.
References
- https://github.com/vyperlang/vyper/security/advisories/GHSA-mr6r-mvw4-736g disclosure@vulncheck.com
- https://www.vulncheck.com/advisories/vyper-before-0.3.1-improper-input-validation-of-uint8... disclosure@vulncheck.com
Data sources
NVD CVE API 2.0 — fetched 2026-10-28 16:34 UTC · record ↗
