Safety vulnerability ID: 59955
The information on this page was manually curated by our Cybersecurity Intelligence Team.
Vyper 0.3.10 includes a fix for a vulnerability. Prior to version 0.3.10, the ecrecover precompile does not fill the output buffer if the signature does not verify. However, the ecrecover builtin will still return whatever is at memory location 0. This means that if the compiler has been convinced to write to the 0 memory location with specially crafted data, just before the ecrecover, a signature check might pass on an invalid signature.
https://github.com/vyperlang/vyper/commit/019a37ab98ff53f04fecfadf602b6cd5ac748f7f
https://github.com/vyperlang/vyper/security/advisories/GHSA-f5x6-7qgp-jhf3
Latest version: 0.4.0
Vyper: the Pythonic Programming Language for the EVM
Vyper is a Pythonic programming language that targets the Ethereum Virtual Machine (EVM). Prior to version 0.3.10, the ecrecover precompile does not fill the output buffer if the signature does not verify. However, the ecrecover builtin will still return whatever is at memory location 0. This means that the if the compiler has been convinced to write to the 0 memory location with specially crafted data (generally, this can happen with a hashmap access or immutable read) just before the ecrecover, a signature check might pass on an invalid signature. Version 0.3.10 contains a patch for this issue. See CVE-2023-37902.
MISC:https://github.com/vyperlang/vyper/commit/019a37ab98ff53f04fecfadf602b6cd5ac748f7f: https://github.com/vyperlang/vyper/commit/019a37ab98ff53f04fecfadf602b6cd5ac748f7f
MISC:https://github.com/vyperlang/vyper/security/advisories/GHSA-f5x6-7qgp-jhf3: https://github.com/vyperlang/vyper/security/advisories/GHSA-f5x6-7qgp-jhf3
Scan your Python project for dependency vulnerabilities in two minutes
Scan your application