{"id":"CVE-2026-114663","title":"Vyper 0.4.0b1 through 0.5.0b1 Name Shadowing of Imported Constants and Default Arguments","summary":"Vyper 0.4.0b1 through 0.5.0b1 miscompiles unfoldable constants and omitted default arguments from imported modules, because parse_Name resolves their names in the using function's scope rather than at declaration. When a contract's param…","severity":"high","cvss":8.4,"cvssVector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","cvssSource":"cna","cwe":["CWE-706"],"vendor":"vyperlang","product":"vyper","affected":["vyper >= 0.4.0b1 <= 0.5.0b1"],"published":"2026-10-22","updated":"2026-10-22","sourceUpdated":"2026-10-22T01:43:46.942Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-114663","references":[{"url":"https://github.com/vyperlang/vyper/security/advisories/GHSA-2489-32vh-8rrc","label":"GitHub Security Advisory (GHSA-2489-32vh-8rrc)"},{"url":"https://www.vulncheck.com/advisories/vyper-0.4-0b1-through-0.5-0b1-name-shadowing-of-imported-constants-and-default-arguments","label":"VulnCheck Advisory: Vyper 0.4.0b1 through 0.5.0b1 Name Shadowing of Imported Constants and Default Arguments"}],"tags":["cve.org"],"ingestedAt":"2026-10-22T02:23:25.178Z","slug":"CVE-2026-114663","body":"## Overview\n\nVyper 0.4.0b1 through 0.5.0b1 miscompiles unfoldable constants and omitted default arguments from imported modules, because parse_Name resolves their names in the using function's scope rather than at declaration. When a contract's parameter, local, or loop variable shares such a name, attacker-influenced input can replace the intended value, including out-of-range values for narrow types such as uint8, corrupting validation or accounting logic.\n\n## Affected\n\n- `vyper >= 0.4.0b1 <= 0.5.0b1`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":46,"depthScoreParts":{"impact":46.2,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}