CVE-2020-37287 Vyper before 0.2.6 Call Stack Corruption via Complex Type Function Arguments

High 8.2 Published Updated
Exploited in the wild
Not known
Fix
None listed

What is CVE-2020-37287?

CVE-2020-37287 is a high-severity vulnerability in vyperlang vyper, published on 21 Oct 2026.

Official description

Vyper before 0.2.6 contains a call stack corruption vulnerability that causes incorrect function outputs when complex types with non-base members are passed as arguments. Contracts passing multi-dimensional arrays or structs to internal or external functions receive corrupted values because the compiler assumed each subtype size is 32.

Weakness: CWE-131

Which versions are affected by CVE-2020-37287?

2 open source packages ship an affected version, including vyper.

PackageAffectedFixed in
vyper PyPIAll versions0.2.6
vyper PyPIAll versions0.2.6

How do I fix CVE-2020-37287?

Upgrade vyper to 0.2.6 or later.

Is CVE-2020-37287 being exploited?

There is no known exploitation of CVE-2020-37287 in the wild and no public exploit code.

Sources

Also known as GHSA-4v7v-gqf9-ww2g, GHSA-cqxq-3fq9-6g4p.

Is CVE-2020-37287 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free