Skip to content
Heist/ feed
Back to feed
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 source

Published 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"
}