{"id":"CVE-2022-24788","published":"2022-04-13T18:30:18Z","modified":"2025-04-23T18:40:24Z","title":"Buffer overflow in Vyper","vendor":"vyperlang","product":"vyper","tier":"tail","description":{"text":"Vyper is a pythonic Smart Contract Language for the ethereum virtual machine. Versions of vyper prior to 0.3.2 suffer from a potential buffer overrun. Importing a function from a JSON interface which returns `bytes` generates bytecode which does not clamp bytes length, potentially resulting in a buffer overrun. Users are advised to upgrade. There are no known workarounds for this issue.","provenance":"source","from":"CVE.org"},"cvss":{"score":7.1,"severity":"HIGH","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:N","provenance":"source","from":"CVE.org CNA"},"epss":{"score":0.00986,"percentile":0.62318,"provenance":"source"},"cwes":[{"id":"CWE-120","name":"Buffer Copy without Checking Size of Input"}],"references":[{"url":"https://github.com/vyperlang/vyper/security/advisories/GHSA-4mrx-6fxm-8jpg","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/vyperlang/vyper/commit/049dbdc647b2ce838fae7c188e6bb09cf16e470b","tags":["x_refsource_MISC"]}],"priority":{"score":17.4,"factors":[{"name":"EPSS percentile","points":12.46},{"name":"CVSS severity","points":4.97}]},"vendorSlug":"vyperlang","affectedVersions":[{"vendor":"vyperlang","product":"vyper","versions":["< 0.3.2"]}],"affected":[{"ecosystem":"PyPI","package":"vyper","vulnerableRanges":["<0.3.2"],"patched":["0.3.2"],"from":["GHSA-4mrx-6fxm-8jpg","PYSEC-2022-197"],"provenance":"source"}],"euvd":{"id":"EUVD-2022-0354","exploited":false,"provenance":"source"},"lineage":{"familyId":"fam-vyperlang-vyper-cve-2022-24788","children":[{"from":"CVE-2022-24788","to":"CVE-2022-29255","relation":"successor","confidence":"high","kind":"lineage","evidence":[{"kind":"version-step","provenance":"source","package":"PyPI:vyper","fromFixed":"0.3.2","toFixed":"0.3.4","daysApart":54},{"kind":"same-code","provenance":"machine","files":["vyper/codegen/external_call.py"],"commits":["https://github.com/vyperlang/vyper/commit/049dbdc647b2ce838fae7c188e6bb09cf16e470b","https://github.com/vyperlang/vyper/commit/6b4d8ff185de071252feaa1c319712b2d6577f8d"],"basis":"rarely changed file"}]}],"packageHistory":[{"cve":"CVE-2024-32648","published":"2024-04-25","fixed":"0.3.0","kev":false},{"cve":"CVE-2023-39363","published":"2023-08-07","fixed":"0.3.1","kev":false},{"cve":"CVE-2022-24787","published":"2022-04-04","fixed":"0.3.2","kev":false},{"cve":"CVE-2022-24788","published":"2022-04-13","fixed":"0.3.2","kev":false},{"cve":"CVE-2022-24845","published":"2022-04-13","fixed":"0.3.2","kev":false},{"cve":"CVE-2022-29255","published":"2022-06-06","fixed":"0.3.4","kev":false},{"cve":"CVE-2023-30629","published":"2023-04-24","fixed":"0.3.8","kev":false}],"package":"PyPI:vyper"}}