All vulnerabilities
CVE-2020-37288GHSA-vg88-3v92-rjx2

Vyper 0.1.0b10 before 0.2.3 Invalid Jump Destination via Return in Nested Loops

vyperlang vyperPyPILibraries & packages
CVSS
6.3Medium
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.28%Chance of exploitation activity in the next 30 days, higher than 19% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in0.2.3Fixed versionCVE List
Published21 Oct 2026Updated 21 Oct 2026CVE List

What fixes it

  • 0.2.3vyperCVE List
  • 0.2.3vyper, PyPIOSVpip install "vyper>=0.2.3"

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

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.

Text from CVE List

Affected versions 13

  • vyperaffected: 0.1.0b10 before 0.2.3CVE List
  • vyperunaffected: 0.2.3CVE List
  • vyper, PyPIfrom 0.1.0b10, fixed in 0.2.3OSV
  • vyper, PyPI0.1.0b10OSV
  • vyper, PyPI0.1.0b11OSV
  • vyper, PyPI0.1.0b12OSV
  • vyper, PyPI0.1.0b13OSV
  • vyper, PyPI0.1.0b14OSV
  • vyper, PyPI0.1.0b15OSV
  • vyper, PyPI0.1.0b16OSV
  • vyper, PyPI0.1.0b17OSV
  • vyper, PyPI0.2.1OSV
  • vyper, PyPI0.2.2OSV

References 2