GHSA-mgv8-gggw-mrg6

    Dashboard / Vulnerabilities / GHSA-mgv8-gggw-mrg6

    GHSA-mgv8-gggw-mrg6

    Published: 5 May 2023Last Modified: 10 Sept 2026

    Summary: vyper vulnerable to storage allocator overflow

    Details: ### Impact The storage allocator does not guard against allocation overflows. This can result in vulnerabilities like the following: ```vyper owner: public(address) take_up_some_space: public(uint256[10]) buffer: public(uint256[max_value(uint256)]) @external def initialize(): self.owner = msg.sender @external def foo(idx: uint256, data: uint256): self.buffer[idx] = data ``` Per @toonvanhove, "An attacker can overwrite the owner variable by calling this contract with calldata: `0x04bc52f8 fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5 ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff` (spaces inserted for readability) `0x04bc52f8` is the selector for `foo(uint256, uint256)`, and the last argument `fff...fff` is the new value for the owner variable." ### Patches patched in 0bb7203b584e771b23536ba065a6efda457161bb ### Workarounds _Is there a way for users to fix or remediate the vulnerability without upgrading?_ ### References _Are there any links users can visit to find out more?_

    Affected packages

    Package

    Name: vyper

    Purl: pkg:pypi/vyper

    Affected ranges

    Type: ECOSYSTEM

    Events:

    Introduced- 0
    Fixed -0.3.8

    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
    GHSA-mgv8-gggw-mrg6 | CVE-DB