logo

CVE-2023-32059 vyper

Package

Manager: pip
Name: vyper
Vulnerable Version: >=0 <0.3.8

Severity

Level: High

CVSS v3.1: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N

CVSS v4.0: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N

EPSS: 0.00064 pctl0.20275

Details

Vyper vulnerable to incorrect ordering of arguments for kwargs passed to internal calls ### Impact Internal calls to internal functions with more than 1 default argument 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. In the `bar()` function in the following code, `self.foo(13)` is compiled to `self.foo(13,12)` instead of `self.foo(13,1337)`. ```vyper @internal def foo(a:uint256 = 12, b:uint256 = 1337): pass @internal def bar(): self.foo(13) ``` note that at the time of publication, the ability to pass kwargs to internal functions is an undocumented feature that does not seem to be widely used. ### Patches patched in c3e68c302aa6e1429946473769dd1232145822ac ### 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?_

Metadata

Created: 2023-05-12T20:21:00Z
Modified: 2024-11-19T16:33:02Z
Source: https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2023/05/GHSA-ph9x-4vc9-m39g/GHSA-ph9x-4vc9-m39g.json
CWE IDs: ["CWE-683"]
Alternative ID: GHSA-ph9x-4vc9-m39g
Finding: F184
Auto approve: 1