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.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-190"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/32xxx/CVE-2023-32058.json"
}{
"extracted_events": [
{
"cpe": "cpe:2.3:a:vyperlang:vyper:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "0.3.8"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "3de1415ee77a9244eb04bdb695e249d3ec9ed868"
}
],
"source": "REFERENCES_COMMIT"
}
]
}