{"api_version":"1","generated_at":"2026-04-23T15:10:32+00:00","cve":"CVE-2022-29255","urls":{"html":"https://cve.report/CVE-2022-29255","api":"https://cve.report/api/cve/CVE-2022-29255.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2022-29255","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2022-29255"},"summary":{"title":"CVE-2022-29255","description":"Vyper is a Pythonic Smart Contract Language for the ethereum virtual machine. In versions prior to 0.3.4 when a calling an external contract with no return value, the contract address (including side effects) could be evaluated twice. This may result in incorrect outcomes for contracts. This issue has been addressed in v0.3.4.","state":"PUBLIC","assigner":"security-advisories@github.com","published_at":"2022-06-09 09:15:00","updated_at":"2023-08-02 16:22:00"},"problem_types":["CWE-670"],"metrics":[],"references":[{"url":"https://github.com/vyperlang/vyper/security/advisories/GHSA-4v9q-cgpw-cf38","name":"https://github.com/vyperlang/vyper/security/advisories/GHSA-4v9q-cgpw-cf38","refsource":"CONFIRM","tags":[],"title":"multiple evaluation of contract address in call · Advisory · vyperlang/vyper · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"404"},{"url":"https://github.com/vyperlang/vyper/commit/6b4d8ff185de071252feaa1c319712b2d6577f8d","name":"https://github.com/vyperlang/vyper/commit/6b4d8ff185de071252feaa1c319712b2d6577f8d","refsource":"MISC","tags":[],"title":"Merge pull request from GHSA-4v9q-cgpw-cf38 · vyperlang/vyper@6b4d8ff · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"404"},{"url":"https://www.cve.org/CVERecord?id=CVE-2022-29255","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2022-29255","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2022","cve_id":"29255","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"vyperlang","cpe5":"vyper","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"},{"cve_year":"2022","cve_id":"29255","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"vyper_project","cpe5":"vyper","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"CVE_data_meta":{"ASSIGNER":"security-advisories@github.com","ID":"CVE-2022-29255","STATE":"PUBLIC","TITLE":"Multiple evaluation of contract address in call in vyper"},"affects":{"vendor":{"vendor_data":[{"product":{"product_data":[{"product_name":"vyper","version":{"version_data":[{"version_value":"< 0.3.4"}]}}]},"vendor_name":"vyperlang"}]}},"data_format":"MITRE","data_type":"CVE","data_version":"4.0","description":{"description_data":[{"lang":"eng","value":"Vyper is a Pythonic Smart Contract Language for the ethereum virtual machine. In versions prior to 0.3.4 when a calling an external contract with no return value, the contract address (including side effects) could be evaluated twice. This may result in incorrect outcomes for contracts. This issue has been addressed in v0.3.4."}]},"impact":{"cvss":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"LOW","baseScore":8.2,"baseSeverity":"HIGH","confidentialityImpact":"NONE","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L","version":"3.1"}},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"CWE-670: Always-Incorrect Control Flow Implementation"}]}]},"references":{"reference_data":[{"name":"https://github.com/vyperlang/vyper/security/advisories/GHSA-4v9q-cgpw-cf38","refsource":"CONFIRM","url":"https://github.com/vyperlang/vyper/security/advisories/GHSA-4v9q-cgpw-cf38"},{"name":"https://github.com/vyperlang/vyper/commit/6b4d8ff185de071252feaa1c319712b2d6577f8d","refsource":"MISC","url":"https://github.com/vyperlang/vyper/commit/6b4d8ff185de071252feaa1c319712b2d6577f8d"}]},"source":{"advisory":"GHSA-4v9q-cgpw-cf38","discovery":"UNKNOWN"}},"nvd":{"publishedDate":"2022-06-09 09:15:00","lastModifiedDate":"2023-08-02 16:22:00","problem_types":["CWE-670"],"metrics":{"baseMetricV3":{"cvssV3":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"HIGH","availabilityImpact":"NONE","baseScore":7.5,"baseSeverity":"HIGH"},"exploitabilityScore":3.9,"impactScore":3.6},"baseMetricV2":{"cvssV2":{"version":"2.0","vectorString":"AV:N/AC:L/Au:N/C:N/I:P/A:N","accessVector":"NETWORK","accessComplexity":"LOW","authentication":"NONE","confidentialityImpact":"NONE","integrityImpact":"PARTIAL","availabilityImpact":"NONE","baseScore":5},"severity":"MEDIUM","exploitabilityScore":10,"impactScore":2.9,"acInsufInfo":false,"obtainAllPrivilege":false,"obtainUserPrivilege":false,"obtainOtherPrivilege":false,"userInteractionRequired":false}},"configurations":{"CVE_data_version":"4.0","nodes":[{"operator":"OR","children":[],"cpe_match":[{"vulnerable":true,"cpe23Uri":"cpe:2.3:a:vyperlang:vyper:*:*:*:*:*:*:*:*","versionEndExcluding":"0.3.4","cpe_name":[]}]}]}},"legacy_mitre":{"record":null,"notes":[]}}}