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.
Metrics
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:NWeakness enumeration
Affected software
| Vendor | Product | Versions |
|---|---|---|
| vyperlang | vyper | <= 0.3.10 |
| vyperlang | vyper | 0.3.10 |
References
- https://github.com/vyperlang/vyper/blob/c150fc49ee9375a930d177044559b83cb95f7963/vyper/ir/compile_ir.py#L585-L586Product
- https://github.com/vyperlang/vyper/security/advisories/GHSA-6845-xw22-ffxvVendor Advisory
- https://github.com/vyperlang/vyper/blob/c150fc49ee9375a930d177044559b83cb95f7963/vyper/ir/compile_ir.py#L585-L586Product
- https://github.com/vyperlang/vyper/security/advisories/GHSA-6845-xw22-ffxvVendor Advisory
Timeline
- Published
- Feb 5, 2024
- Last modified
- Jun 17, 2026
- NVD status
- Modified