What’s Vulnerable › Vulnerabilities

CVE-2023-32058: Vyper vulnerable to integer overflow in loop

Description

Vyper is a Pythonic smart contract language for the Ethereum virtual machine. Prior to version 0.3.8, due to missing overflow check for loop variables, by assigning the iterator of a loop to a variable, it is possible to overflow the type of the latter. The issue seems to happen only in loops of type `for i in range(a, a + N)` as in loops of type `for i in range(start, stop)` and `for i in range(stop)`, the compiler is able to raise a `TypeMismatch` when trying to overflow the variable. The problem has been patched in version 0.3.8.

Affected products

How to fix

Upgrade to a fixed version: vyperlang vyper 0.3.8. Check the vendor advisory for mitigations.

References

Get alerted when CVE-2023-32058 or the next vulnerability affects your stack