PyPi: Vyper

CVE-2023-30629

Safety vulnerability ID: 55159

This vulnerability was reviewed by experts

The information on this page was manually curated by our Cybersecurity Intelligence Team.

Created at Apr 24, 2023 Updated at May 16, 2024
Scan your Python projects for vulnerabilities →

Advisory

Vyper 0.3.8 includes a fix for CVE-2023-30629: In versions 0.3.1 through 0.3.7, the Vyper compiler generates the wrong bytecode. Any contract that uses the 'raw_call' with 'revert_on_failure=False' and 'max_outsize=0' receives the wrong response from 'raw_call'. Depending on the memory garbage, the result can be either 'True' or 'False'. A patch is available and, as of time of publication, anticipated to be part of Vyper 0.3.8. As a workaround, one may always put 'max_outsize>0'.
https://github.com/vyperlang/vyper/security/advisories/GHSA-w9g2-3w7p-72g9

Affected package

vyper

Latest version: 0.3.10

Vyper: the Pythonic Programming Language for the EVM

Affected versions

Fixed versions

Vulnerability changelog

Vyper is a Pythonic Smart Contract Language for the ethereum virtual machine. In versions 0.3.1 through 0.3.7, the Vyper compiler generates the wrong bytecode. Any contract that uses the `raw_call` with `revert_on_failure=False` and `max_outsize=0` receives the wrong response from `raw_call`. Depending on the memory garbage, the result can be either `True` or `False`. A patch is available and, as of time of publication, anticipated to be part of Vyper 0.3.8. As a workaround, one may always put `max_outsize>0`. See CVE-2023-30629.


MISC:https://docs.vyperlang.org/en/v0.3.7/built-in-functions.html#raw_call: https://docs.vyperlang.org/en/v0.3.7/built-in-functions.html#raw_call
MISC:https://github.com/lidofinance/gate-seals/blob/051593e74df01a4131c485b4fda52e691cd4b7d8/contracts/GateSeal.vy#L164: https://github.com/lidofinance/gate-seals/blob/051593e74df01a4131c485b4fda52e691cd4b7d8/contracts/GateSeal.vy#L164
MISC:https://github.com/lidofinance/gate-seals/pull/5/files: https://github.com/lidofinance/gate-seals/pull/5/files
MISC:https://github.com/vyperlang/vyper/commit/851f7a1b3aa2a36fd041e3d0ed38f9355a58c8ae: https://github.com/vyperlang/vyper/commit/851f7a1b3aa2a36fd041e3d0ed38f9355a58c8ae
MISC:https://github.com/vyperlang/vyper/security/advisories/GHSA-w9g2-3w7p-72g9: https://github.com/vyperlang/vyper/security/advisories/GHSA-w9g2-3w7p-72g9

Resources

Use this package?

Scan your Python project for dependency vulnerabilities in two minutes

Scan your application

Severity Details

CVSS Base Score

HIGH 7.5

CVSS v3 Details

HIGH 7.5
Attack Vector (AV)
NETWORK
Attack Complexity (AC)
LOW
Privileges Required (PR)
NONE
User Interaction (UI)
NONE
Scope (S)
UNCHANGED
Confidentiality Impact (C)
NONE
Integrity Impact (I)
HIGH
Availability Availability (A)
NONE