{"id":"CVE-2021-48020","state":"PUBLISHED","title":"Vyper before 0.3.0 Memory Corruption via Internal Function Calls in Arrays","description":"Vyper from 0.1.0b4 before 0.3.0 contains a memory corruption vulnerability caused by an incorrect stack tip pointer when internal function calls are performed inside arrays. Contracts placing internal calls in nested array elements, external call arguments, struct literals, or raw_log topics can have memory corrupted, producing incorrect contract behavior.","publishedAt":"2026-10-21T00:36:19.625Z","updatedAt":"2026-10-28T15:11:17.839Z","severity":{"score":8.3,"label":"High","version":"4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N","source":"VulnCheck"},"assigner":"VulnCheck","products":["vyperlang vyper"],"affected":[{"vendor":"vyperlang","product":"vyper","packageURL":"pkg:pypi/vyper","defaultStatus":"unaffected","versions":[{"version":"0.1.0b4","status":"affected","lessThan":"0.3.0","versionType":"python"},{"version":"0.3.0","status":"unaffected","versionType":"python"}]}],"references":["https://github.com/vyperlang/vyper/security/advisories/GHSA-22wc-c9wj-6q2v","https://www.vulncheck.com/advisories/vyper-before-0.3.0-memory-corruption-via-internal-function-calls-in-arrays"],"weaknesses":["CWE-787"],"ingestedAt":"2026-10-29T19:49:22.269Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2021/48xxx/CVE-2021-48020.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2021-48020","state":"PUBLISHED","datePublished":"2026-10-21T00:36:19.625Z","dateUpdated":"2026-10-28T15:11:17.839Z","assignerShortName":"VulnCheck","assignerOrgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateReserved":"2026-10-20T21:52:06.584Z"},"containers":{"cna":{"title":"Vyper before 0.3.0 Memory Corruption via Internal Function Calls in Arrays","descriptions":[{"lang":"en","value":"Vyper from 0.1.0b4 before 0.3.0 contains a memory corruption vulnerability caused by an incorrect stack tip pointer when internal function calls are performed inside arrays. Contracts placing internal calls in nested array elements, external call arguments, struct literals, or raw_log topics can have memory corrupted, producing incorrect contract behavior."}],"affected":[{"vendor":"vyperlang","product":"vyper","packageURL":"pkg:pypi/vyper","defaultStatus":"unaffected","versions":[{"version":"0.1.0b4","status":"affected","lessThan":"0.3.0","versionType":"python"},{"version":"0.3.0","status":"unaffected","versionType":"python"}]}],"references":[{"url":"https://github.com/vyperlang/vyper/security/advisories/GHSA-22wc-c9wj-6q2v","tags":["vendor-advisory"],"name":"GitHub Security Advisory (GHSA-22wc-c9wj-6q2v)"},{"url":"https://www.vulncheck.com/advisories/vyper-before-0.3.0-memory-corruption-via-internal-function-calls-in-arrays","name":"VulnCheck Advisory: Vyper before 0.3.0 Memory Corruption via Internal Function Calls in Arrays","tags":["third-party-advisory"]}],"metrics":[{"cvssV4_0":{"Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","Safety":"NOT_DEFINED","attackComplexity":"LOW","attackRequirements":"PRESENT","attackVector":"NETWORK","baseScore":8.3,"baseSeverity":"HIGH","exploitMaturity":"NOT_DEFINED","privilegesRequired":"NONE","providerUrgency":"NOT_DEFINED","subAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","userInteraction":"NONE","valueDensity":"NOT_DEFINED","vectorString":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N","version":"4.0","vulnAvailabilityImpact":"LOW","vulnConfidentialityImpact":"NONE","vulnIntegrityImpact":"HIGH","vulnerabilityResponseEffort":"NOT_DEFINED"},"format":"CVSS"},{"cvssV3_1":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"LOW","baseScore":6.5,"baseSeverity":"MEDIUM","confidentialityImpact":"NONE","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:L","version":"3.1"},"format":"CVSS"}],"problemTypes":[{"descriptions":[{"cweId":"CWE-787","lang":"en","description":"Out-of-bounds Write","type":"CWE"}]}],"providerMetadata":{"shortName":"VulnCheck","orgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateUpdated":"2026-10-21T00:36:19.625Z"},"datePublic":"2021-04-16T00:00:00.000Z","cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:vyperlang:vyper:*:*:*:*:*:*:*:*","versionStartIncluding":"0.1.0b4","versionEndExcluding":"0.3.0"}]}]}],"x_generator":{"engine":"vulncheck-endgame"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-10-28T15:05:10.406638Z","id":"CVE-2021-48020","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-28T15:11:17.839Z"}}]}}}