{"cve":"CVE-2024-32647","nvd":{"published":"2024-04-25T18:15:08.963","modified":"2026-06-17T07:30:01.520","status":"Analyzed","description":"Vyper is a pythonic Smart Contract Language for the Ethereum virtual machine. In versions 0.3.10 and prior, using the `create_from_blueprint` builtin can result in a double eval vulnerability when `raw_args=True` and the `args` argument has side-effects. It can be seen that the `_build_create_IR` function of the `create_from_blueprint` builtin doesn't cache the mentioned `args` argument to the stack. As such, it can be evaluated multiple times (instead of retrieving the value from the stack). No vulnerable production contracts were found. Additionally, double evaluation of side-effects should be easily discoverable in client tests. As such, the impact is low. As of time of publication, no fixed versions exist.","cvss_v4":null,"cvss_v3":{"version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","score":5.3},"cwes":["CWE-95"],"references":["https://github.com/vyperlang/vyper/blob/cedf7087e68e67c7bfbd47ae95dcb16b81ad2e02/vyper/builtins/functions.py#L1847","https://github.com/vyperlang/vyper/security/advisories/GHSA-3whq-64q2-qfj6","https://github.com/vyperlang/vyper/blob/cedf7087e68e67c7bfbd47ae95dcb16b81ad2e02/vyper/builtins/functions.py#L1847","https://github.com/vyperlang/vyper/security/advisories/GHSA-3whq-64q2-qfj6"],"products":["vyperlang:vyper"],"source":"nvd","synced_at":"2026-10-19T21:49:08.435428910+00:00"},"epss":{"cve":"CVE-2024-32647","score":0.00455,"percentile":0.39518,"date":"2026-11-01"},"kev":null,"osv":[{"id":"GHSA-3whq-64q2-qfj6","url":"https://osv.dev/vulnerability/GHSA-3whq-64q2-qfj6","summary":"vyper performs double eval of raw_args in create_from_blueprint","modified":"2026-06-10T17:14:17.960047245Z","packages":[{"ecosystem":"PyPI","name":"vyper","purl":"pkg:pypi/vyper","ranges":["<0.4.0"],"fixed":["0.4.0"]}]},{"id":"PYSEC-2024-208","url":"https://osv.dev/vulnerability/PYSEC-2024-208","summary":"","modified":"2026-06-10T17:14:17.286475504Z","packages":[{"ecosystem":"PyPI","name":"vyper","purl":"pkg:pypi/vyper","ranges":["<0.4.0"],"fixed":["0.4.0"]}]}],"attribution":["This product uses the NVD API but is not endorsed or certified by the NVD.","EPSS scores: FIRST Exploit Prediction Scoring System, https://www.first.org/epss","Known exploited vulnerabilities: CISA Known Exploited Vulnerabilities Catalog, https://www.cisa.gov/known-exploited-vulnerabilities-catalog","Package advisories: OSV (https://osv.dev), from the GitHub Advisory Database, PyPA, Go, RustSec and other ecosystem databases, under CC-BY 4.0 or CC0","CVE records: the CVE Program's CVE List (https://www.cve.org), under its terms of use (https://www.cve.org/Legal/TermsOfUse). CVE is a registered trademark of The MITRE Corporation; this product is not affiliated with the CVE Program."]}