CVE-2020-37287 json
Vyper before 0.2.6 Call Stack Corruption via Complex Type Function Arguments
published 2026-10-06 33 d ago modified 2026-10-28 11 d ago also EUVD-2020-31283 , GHSA-4v7v-gqf9-ww2g
- cvss
- 5.9
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 16%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- pypi vyper 0.2.6
- vyperlang vyper 0.2.6
- github.com/vyperlang/vyper@0be02b7 commit
- github.com/vyperlang/vyper#2184 pull request
- github.com/vyperlang/vyper/releases/tag/v0.2.6 release
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2020-37287 updated cvss 5.9
vyper: vyper: Data corruption via complex type function arguments
-
Red Hat All currently supported Red Hat productsnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 11 d ago
Exploit prediction
0.25% chance of exploitation in the next 30 days, higher than 16% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 8.2 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N |
| CNA | 3.1 | 5.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N |
| CNA | 4.0 | 8.2 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | vyper | <0.2.6 |
0.2.6 |
Affected products
- vyperlang vyper
Classification
References
-
github.com
/vyperlang/vyper/pull/2184
web
-
github.com
/vyperlang/vyper/commit/0be02b7331e8febe79d5a4218829c72e30417a29
web
-
github.com
/vyperlang/vyper/security/advisories/GHSA-4v7v-gqf9-ww2g
vendor-advisory, web
-
vulncheck.com
/advisories/vyper-before-0.2.6-call-stack-corruption-via-complex-type-function-arguments
third-party-advisory
-
github.com
/vyperlang/vyper/issues/2183
web
-
github.com
/vyperlang/vyper
package
-
github.com
/vyperlang/vyper/releases/tag/v0.2.6
web
Sources
- CVE List CVE-2020-37287
- GitHub Advisory GHSA-4v7v-gqf9-ww2g
- NVD CVE-2020-37287
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.