CVE-2024-32481: vyper's range(start, start + N) reverts for negative numbers
vyperlang · vyper
Affected: vyperlang · Exploitation: unlikely (under 1%)
Not in CyberSIXT coverage yet: no article names this CVE. This page shows the public record.
Higher than 56% of scored CVEs
DescriptionCVE.org
Vyper is a pythonic Smart Contract Language for the Ethereum virtual machine. Starting in version 0.3.8 and prior to version 0.4.0b1, when looping over a `range` of the form `range(start, start + N)`, if `start` is negative, the execution will always revert. This issue is caused by an incorrect assertion inserted by the code generation of the range `stmt.parse_For_range()`. The issue arises when `start` is signed, instead of using `sle`, `le` is used and `start` is interpreted as an unsigned integer for the comparison. If it is a negative number, its 255th bit is set to `1` and is hence interpreted as a very large unsigned integer making the assertion always fail. Any contract having a `range(start, start + N)` where `start` is a signed integer with the possibility for `start` to be negative is affected. If a call goes through the loop while supplying a negative `start` the execution will revert. Version 0.4.0b1 fixes the issue.
Affected products1
From the CVE record. A product or version that is not listed is unknown, not unaffected.
- vyperlang · vyper>= 0.3.8, < 0.4.0b1
On the Atlas
Every published CVE is on the CyberSIXT Atlas, grouped by weakness, vendor and month.
- Exploitation
- Unlikely (under 1%). EPSS under 1%, or no score yet.
- CISA KEV
- Not listed
- Public check
- No public nuclei template
- Vendor
- vyperlang
- Published
- April 2024
CoverageNo articles yet
No CyberSIXT article names CVE-2024-32481 yet, so there is no coverage timeline, action brief or change log for it. Everything on this page comes from the public CVE record, CISA KEV, EPSS and the nuclei template index. Search the archive or see the CVEs in the news.
References
- NVD entrynvd.nist.gov
- CVE recordcve.org
- Weakness CWE-681cwe.mitre.org
- github.com/vyperlang/vyper/security/advisories/GHSA-ppx5-q359-pvgithub.com
- github.com/vyperlang/vyper/commit/3de1415ee77a9244eb04bdb695e249github.com
- github.com/vyperlang/vyper/commit/5319cfbe14951e007ccdb323257e5agithub.com
- github.com/vyperlang/vyper/blob/9136169468f317a53b4e7448389aa315github.com