CVE-2024-24559
Vyper SHA3 code generation bug
MEDIUM 5.3EPSS 0.3%
Vyper is a Pythonic Smart Contract Language for the EVM. There is an error in the stack management when compiling the `IR` for `sha3_64`. Concretely, the `height` variable is miscalculated. The vulnerability can't be triggered without writing the `IR` by hand (that is, it cannot be triggered from regular vyper code). `sha3_64` is used for retrieval in mappings. No flow that would cache the `key` was found so the issue shouldn't be possible to trigger when compiling the compiler-generated `IR`. This issue isn't triggered during normal compilation of vyper code so the impact is low. At the time of publication there is no patch available.
- Affected
- vyperlang · vyper
- CVSS v3.1 NVD
- 5.3 MEDIUM
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N - CVSS v3.1 GITHUB
- 3.7 LOW
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N - EPSS
- 0.26% chance of exploitation in the next 30 days, 16th percentile
- Published
- 2024-02-05
- Updated
- 2024-08-26
Proof-of-concept exploits (1)
Security advisories
- vyperlang/vyper/security/advisories/GHSA-6845-xw22-ffxv
- vyperlang/vyper/blob/c150fc49ee9375a930d177044559b83cb95f7963/vyper/ir/compile_ir.py#L585…