Skip to content
OpenAdvisories
Low · 3.7 CVE-2024-24559 EUVD-2024-0174GHSA-6845-xw22-ffxvPYSEC-2024-147

Vyper SHA3 code generation bug

Published Feb 5, 2024 · Updated Aug 26, 2024 · Assigned by GitHub_M

Description

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 products

VendorProductAffectedFixed
vyperlang vyper <= 0.3.10 —

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI vyper < 0.4.0 0.4.0 GHSA-6845-xw22-ffxv
PyPI vyper < 0.4.0b1 0.4.0b1 PYSEC-2024-147

References