CVE-2023-32059

Vyper vulnerable to incorrect ordering of arguments for kwargs passed to internal calls

Published May 11, 2023 CVSS 3.1 · 7.5 High EPSS < 1% KEV · Not listed
Description
Vyper is a Pythonic smart contract language for the Ethereum virtual machine. Prior to version 0.3.8, internal calls with default arguments are compiled incorrectly. Depending on the number of arguments provided in the call, the defaults are added not right-to-left, but left-to-right. If the types are incompatible, typechecking is bypassed. The ability to pass kwargs to internal functions is an undocumented feature that is not well known about. The issue is patched in version 0.3.8.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
EUVD EUVD EUVD-2023-0272 Vyper is a Pythonic smart contract language for the Ethereum virtual machine. Prior to version 0.3.8, internal calls with default arguments are compiled incorrectly. Depending on the number of arguments provided in the call, the defaults are added not right-to-left, but left-to-right. If the types are incompatible, typechecking is bypassed. The ability to pass kwargs to internal functions is an undocumented feature that is not well known about. The issue is patched in version 0.3.8.
Github GHSA Github GHSA GHSA-ph9x-4vc9-m39g Vyper vulnerable to incorrect ordering of arguments for kwargs passed to internal calls
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Jan 24, 2025, 3:54 PM
Reserved
May 1, 2023, 4:47 PM
Status
Modified
Published
May 11, 2023, 10:15 PM
Modified
Jun 17, 2026, 5:57 AM