---
id: CVE-2020-37288
title: >-
  Vyper 0.1.0b10 before 0.2.3 Invalid Jump Destination via Return in Nested
  Loops
summary: >-
  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 contract…
severity: low
cvss: 3.7
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L'
cvssSource: cna
cwe:
  - CWE-670
vendor: vyperlang
product: vyper
affected:
  - vyper >= 0.1.0b10 < 0.2.3
published: '2026-10-21'
updated: '2026-10-21'
sourceUpdated: '2026-10-21T00:36:16.926Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2020-37288'
references:
  - url: 'https://github.com/vyperlang/vyper/security/advisories/GHSA-vg88-3v92-rjx2'
    label: GitHub Security Advisory (GHSA-vg88-3v92-rjx2)
  - url: >-
      https://www.vulncheck.com/advisories/vyper-0.1-0b10-before-0.2.3-invalid-jump-destination-via-return-in-nested-loops
    label: >-
      VulnCheck Advisory: Vyper 0.1.0b10 before 0.2.3 Invalid Jump Destination
      via Return in Nested Loops
tags:
  - cve.org
ingestedAt: '2026-10-21T01:37:08.050Z'
---

## Overview

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

- `vyper >= 0.1.0b10 < 0.2.3`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
