Vulnerability 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.
CVSS Score
LOW
Related Weaknesses (CWE)
References
- https://github.com/vyperlang/vyper/security/advisories/GHSA-mr6r-mvw4-736g
- https://www.vulncheck.com/advisories/vyper-before-0.3.1-improper-input-validatio
FAQ
What is CVE-2020-37289?
CVE-2020-37289 is a vulnerability with a CVSS score of 3.7 (LOW). 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 ...
How severe is CVE-2020-37289?
CVE-2020-37289 has been rated LOW with a CVSS base score of 3.7/10. Review the CVSS metrics above for detailed severity breakdown.
Is there a patch for CVE-2020-37289?
Check the references section above for vendor advisories and patch information. Review vendor security bulletins for remediation guidance.