What’s Vulnerable › Vulnerabilities

CVE-2020-37288: Vyper 0.1.0b10 before 0.2.3 Invalid Jump Destination via Return in Nested Loops

Description

Vyper from 0.1.0b10 before 0.2.3 generates incorrect code for a return statement inside a for loop in an internal function called two or more internal calls deep, producing an invalid jump destination (stack underflow). Affected contracts revert such calls unnecessarily, which in limited circumstances could enable denial of service against public contracts.

Affected products

How to fix

Upgrade to a fixed version: Pypi Vyper 0.2.3; vyperlang vyper 0.2.3. Check the vendor advisory for mitigations.

References

Get alerted when CVE-2020-37288 or the next vulnerability affects your stack