PYSEC-2024-147

    Dashboard / Vulnerabilities / PYSEC-2024-147

    PYSEC-2024-147

    Published: 5 Feb 2024Last Modified: 21 Nov 2024

    Summary:

    Details: 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 packages

    Package

    Name: vyper

    Purl: pkg:pypi/vyper

    Affected ranges

    Type: ECOSYSTEM

    Events:

    Introduced- 0
    Fixed -0.4.0b1

    Affected versions

    0.1.0b1
    0.1.0b10
    0.1.0b11
    0.1.0b12
    0.1.0b13
    0.1.0b14
    0.1.0b15
    0.1.0b16
    0.1.0b17
    0.1.0b2
    0.1.0b3
    0.1.0b4
    0.1.0b5
    0.1.0b6
    0.1.0b7
    0.1.0b8
    0.1.0b9

    Common Vulnerability Scoring System

    Attack Vector
    Network
    Adjacent
    Local
    Physical
    Privileges Required
    None
    Low
    High
    User Interaction
    None
    Required
    Scope
    Unchanged
    Changed
    Confidentiality
    None
    Low
    High
    Integrity
    None
    Low
    High
    Availability
    None
    Low
    High
    PYSEC-2024-147 | CVE-DB