Medium
Vyper before 0.3.1 Improper Input Validation of uint8 Interface Return Values
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.
Announced Source revision 1
Original source ↗CVE-2020-37289
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: cve:CVE-2020-37289
vyper
Source reference: /containers/cna/affected/0/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"vendor": "vyperlang",
"product": "vyper",
"versions": [
{
"status": "affected",
"version": "0",
"lessThan": "0.3.1",
"versionType": "python"
},
{
"status": "unaffected",
"version": "0.3.1",
"versionType": "python"
}
],
"packageURL": "pkg:pypi/vyper",
"defaultStatus": "unaffected"
}
]- Related CVEs
- CVE-2020-37289
Source reference:
/cveMetadata/cveId
Publisher severity
medium
Source reference: /containers/cna/metrics
- Event
- #44929 · Revision 1
- Added to Heist Feed
- Publisher date