{"id":"CVE-2020-37287","title":"Vyper before 0.2.6 Call Stack Corruption via Complex Type Function Arguments","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 …","severity":"medium","cvss":5.9,"cvssVector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N","cvssSource":"cna","cwe":["CWE-131"],"vendor":"vyperlang","product":"vyper","affected":["vyper < 0.2.6"],"published":"2026-10-21","updated":"2026-10-21","sourceUpdated":"2026-10-21T00:36:16.257Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2020-37287","references":[{"url":"https://github.com/vyperlang/vyper/security/advisories/GHSA-4v7v-gqf9-ww2g","label":"GitHub Security Advisory (GHSA-4v7v-gqf9-ww2g)"},{"url":"https://www.vulncheck.com/advisories/vyper-before-0.2.6-call-stack-corruption-via-complex-type-function-arguments","label":"VulnCheck Advisory: Vyper before 0.2.6 Call Stack Corruption via Complex Type Function Arguments"}],"tags":["cve.org"],"ingestedAt":"2026-10-21T01:37:08.049Z","slug":"CVE-2020-37287","body":"## Overview\n\nVyper 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.\n\n## Affected\n\n- `vyper < 0.2.6`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":32,"depthScoreParts":{"impact":32.5,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}