Medium
Vyper before 0.3.1 Improper Input Validation of uint8 Interface Return Values
Type: advisorySources: Official CVE List
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.
- Products
- vyper
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2020-37289
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 16:29 UTC · Revision 2
Source evidence
Vyper before 0.3.1 Improper Input Validation of uint8 Interface Return Values
core-cve · Original sourcePublished 21 Oct 2026, 00:36 UTC
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.
cve:CVE-2020-37289
vyper
Fixed versions: Not specified
Complete source record
{
"id": "a6deea0f8a1c63d9ea019dd634f0b056375325f1416fc259cddfb86d6056ee1d",
"url": "https://www.cve.org/CVERecord?id=CVE-2020-37289",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Vyper before 0.3.1 Improper Input Validation of uint8 Interface Return Values",
"summary": "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.",
"evidence": "cve:CVE-2020-37289",
"products": [
{
"name": {
"value": "vyper",
"evidence": "/containers/cna/affected/0/product"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": []
}
],
"severity": "medium",
"structured": {
"id": "CVE-2020-37289",
"aliases": [
"CVE-2020-37289"
],
"metrics": [
{
"format": "CVSS",
"cvssV4_0": {
"Safety": "NOT_DEFINED",
"version": "4.0",
"Recovery": "NOT_DEFINED",
"baseScore": 6.3,
"Automatable": "NOT_DEFINED",
"attackVector": "NETWORK",
"baseSeverity": "MEDIUM",
"valueDensity": "NOT_DEFINED",
"vectorString": "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",
"exploitMaturity": "NOT_DEFINED",
"providerUrgency": "NOT_DEFINED",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"privilegesRequired": "NONE",
"subIntegrityImpact": "NONE",
"vulnIntegrityImpact": "LOW",
"subAvailabilityImpact": "NONE",
"vulnAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"vulnConfidentialityImpact": "NONE",
"vulnerabilityResponseEffort": "NOT_DEFINED"
}
},
{
"format": "CVSS",
"cvssV3_1": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 3.7,
"attackVector": "NETWORK",
"baseSeverity": "LOW",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N",
"integrityImpact": "LOW",
"userInteraction": "NONE",
"attackComplexity": "HIGH",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "NONE"
}
}
],
"affected": [
{
"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"
}
],
"modified": "2026-10-28T15:45:18.052Z",
"provider": "cve",
"references": [
"https://github.com/vyperlang/vyper/security/advisories/GHSA-mr6r-mvw4-736g",
"https://www.vulncheck.com/advisories/vyper-before-0.3.1-improper-input-validation-of-uint8-interface-return-values"
],
"provider_metadata": {
"adp": [
{
"title": "CISA ADP Vulnrichment",
"metrics": [
{
"other": {
"type": "ssvc",
"content": {
"id": "CVE-2020-37289",
"role": "CISA Coordinator",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2026-10-28T15:45:04.773773Z"
}
}
}
],
"providerMetadata": {
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP",
"dateUpdated": "2026-10-28T15:45:18.052Z"
}
}
],
"cna": {
"orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"shortName": "VulnCheck",
"dateUpdated": "2026-10-21T00:36:17.573Z"
}
}
},
"related_cves": [
{
"value": "CVE-2020-37289",
"evidence": "/cveMetadata/cveId"
}
],
"security_relevant": true,
"severity_evidence": "/containers/cna/metrics"
},
"source_id": "core-cve",
"document_id": 457879,
"published_at": "2026-10-21T00:36:17.573+00:00"
}