Lucene search

K

Vyperlang Security Vulnerabilities

cve
cve

CVE-2021-41121

Vyper is a Pythonic Smart Contract Language for the EVM. In affected versions when performing a function call inside a literal struct, there is a memory corruption issue that occurs because of an incorrect pointer to the the top of the stack. This issue has been resolved in version 0.3.0.

8.8CVSS

8.8AI Score

0.001EPSS

2021-10-06 06:15 PM
42
cve
cve

CVE-2021-41122

Vyper is a Pythonic Smart Contract Language for the EVM. In affected versions external functions did not properly validate the bounds of decimal arguments. The can lead to logic errors. This issue has been resolved in version 0.3.0.

4.3CVSS

4.5AI Score

0.001EPSS

2021-10-05 11:15 PM
54
cve
cve

CVE-2022-24787

Vyper is a Pythonic Smart Contract Language for the Ethereum Virtual Machine. In version 0.3.1 and prior, bytestrings can have dirty bytes in them, resulting in the word-for-word comparisons giving incorrect results. Even without dirty nonzero bytes, two bytestrings can compare to equal if one ends...

7.5CVSS

7.5AI Score

0.001EPSS

2022-04-04 06:15 PM
54
cve
cve

CVE-2022-24788

Vyper is a pythonic Smart Contract Language for the ethereum virtual machine. Versions of vyper prior to 0.3.2 suffer from a potential buffer overrun. Importing a function from a JSON interface which returns bytes generates bytecode which does not clamp bytes length, potentially resulting in a buff...

9.8CVSS

9.4AI Score

0.002EPSS

2022-04-13 07:15 PM
66
cve
cve

CVE-2022-24845

Vyper is a pythonic Smart Contract Language for the ethereum virtual machine. In affected versions, the return of <iface>.returns_int128() is not validated to fall within the bounds of int128. This issue can result in a misinterpretation of the integer value and lead to incorrect behavior. As...

9.8CVSS

9.3AI Score

0.002EPSS

2022-04-13 10:15 PM
72
cve
cve

CVE-2022-29255

Vyper is a Pythonic Smart Contract Language for the ethereum virtual machine. In versions prior to 0.3.4 when a calling an external contract with no return value, the contract address (including side effects) could be evaluated twice. This may result in incorrect outcomes for contracts. This issue ...

8.2CVSS

7.3AI Score

0.001EPSS

2022-06-09 09:15 AM
69
8
cve
cve

CVE-2023-30629

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 ...

7.5CVSS

7.4AI Score

0.001EPSS

2023-04-24 10:15 PM
22
cve
cve

CVE-2023-30837

Vyper is a pythonic smart contract language for the EVM. The storage allocator does not guard against allocation overflows in versions prior to 0.3.8. An attacker can overwrite the owner variable. This issue was fixed in version 0.3.8.

7.5CVSS

7.3AI Score

0.001EPSS

2023-05-08 05:15 PM
29
cve
cve

CVE-2023-31146

Vyper is a Pythonic smart contract language for the Ethereum virtual machine. Prior to version 0.3.8, during codegen, the length word of a dynarray is written before the data, which can result in out-of-bounds array access in the case where the dynarray is on both the lhs and rhs of an assignment. ...

9.1CVSS

9.2AI Score

0.001EPSS

2023-05-11 09:15 PM
21
cve
cve

CVE-2023-32058

Vyper is a Pythonic smart contract language for the Ethereum virtual machine. Prior to version 0.3.8, due to missing overflow check for loop variables, by assigning the iterator of a loop to a variable, it is possible to overflow the type of the latter. The issue seems to happen only in loops of ty...

7.5CVSS

7.5AI Score

0.001EPSS

2023-05-11 09:15 PM
20
cve
cve

CVE-2023-32059

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 ...

7.5CVSS

7.3AI Score

0.001EPSS

2023-05-11 10:15 PM
20
cve
cve

CVE-2023-32675

Vyper is a pythonic Smart Contract Language for the ethereum virtual machine. In contracts with more than one regular nonpayable function, it is possible to send funds to the default function, even if the default function is marked nonpayable. This applies to contracts compiled with vyper versions ...

5.3CVSS

5.1AI Score

0.001EPSS

2023-05-19 08:15 PM
28
cve
cve

CVE-2023-37902

Vyper is a Pythonic programming language that targets the Ethereum Virtual Machine (EVM). Prior to version 0.3.10, the ecrecover precompile does not fill the output buffer if the signature does not verify. However, the ecrecover builtin will still return whatever is at memory location 0. This means...

5.3CVSS

5.2AI Score

0.001EPSS

2023-07-25 09:15 PM
33
cve
cve

CVE-2023-39363

Vyper is a Pythonic Smart Contract Language for the Ethereum Virtual Machine (EVM). In versions 0.2.15, 0.2.16 and 0.3.0, named re-entrancy locks are allocated incorrectly. Each function using a named re-entrancy lock gets a unique lock regardless of the key, allowing cross-function re-entrancy in ...

5.9CVSS

5.5AI Score

0.001EPSS

2023-08-07 07:15 PM
17
cve
cve

CVE-2023-40015

Vyper is a Pythonic Smart Contract Language. For the following (probably non-exhaustive) list of expressions, the compiler evaluates the arguments from right to left instead of left to right. unsafe_add, unsafe_sub, unsafe_mul, unsafe_div, pow_mod256, |, &, ^ (bitwise operators), bitwise_or (deprec...

5.3CVSS

5AI Score

0.0005EPSS

2023-09-04 06:15 PM
19
cve
cve

CVE-2023-41052

Vyper is a Pythonic Smart Contract Language. In affected versions the order of evaluation of the arguments of the builtin functions uint256_addmod, uint256_mulmod, ecadd and ecmul does not follow source order. This behaviour is problematic when the evaluation of one of the arguments produces side e...

5.3CVSS

5.2AI Score

0.0005EPSS

2023-09-04 06:15 PM
26
cve
cve

CVE-2023-42441

Vyper is a Pythonic Smart Contract Language for the Ethereum Virtual Machine (EVM). Starting in version 0.2.9 and prior to version 0.3.10, locks of the type @nonreentrant("") or @nonreentrant('') do not produce reentrancy checks at runtime. This issue is fixed in version 0.3.10. As a workaround, en...

5.3CVSS

5AI Score

0.001EPSS

2023-09-18 09:16 PM
33
cve
cve

CVE-2023-42443

Vyper is a Pythonic Smart Contract Language for the Ethereum Virtual Machine (EVM). In version 0.3.9 and prior, under certain conditions, the memory used by the builtins raw_call, create_from_blueprint and create_copy_of can be corrupted. For raw_call, the argument buffer of the call can be corrupt...

8.1CVSS

8.2AI Score

0.001EPSS

2023-09-18 09:16 PM
28
cve
cve

CVE-2023-42460

Vyper is a Pythonic Smart Contract Language for the EVM. The _abi_decode() function does not validate input when it is nested in an expression. Uses of _abi_decode() can be constructed which allow for bounds checking to be bypassed resulting in incorrect results. This issue has not yet been fixed, ...

7.5CVSS

7.4AI Score

0.0005EPSS

2023-09-27 03:19 PM
25
cve
cve

CVE-2023-46247

Vyper is a Pythonic Smart Contract Language for the Ethereum Virtual Machine (EVM). Contracts containing large arrays might underallocate the number of slots they need by 1. Prior to v0.3.8, the calculation to determine how many slots a storage variable needed used math.ceil(type_.size_in_bytes / 3...

7.5CVSS

7.3AI Score

0.001EPSS

2023-12-13 08:15 PM
7
cve
cve

CVE-2024-22419

Vyper is a Pythonic Smart Contract Language for the Ethereum Virtual Machine. The concat built-in can write over the bounds of the memory buffer that was allocated for it and thus overwrite existing valid data. The root cause is that the build_IR for concat doesn't properly adhere to the API of cop...

9.8CVSS

9.7AI Score

0.001EPSS

2024-01-18 07:15 PM
95
cve
cve

CVE-2024-24559

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 v...

5.3CVSS

5.3AI Score

0.0005EPSS

2024-02-05 09:15 PM
64
cve
cve

CVE-2024-24560

Vyper is a Pythonic Smart Contract Language for the Ethereum Virtual Machine. When calls to external contracts are made, we write the input buffer starting at byte 28, and allocate the return buffer to start at byte 0 (overlapping with the input buffer). When checking RETURNDATASIZE for dynamic typ...

5.3CVSS

5.3AI Score

0.0005EPSS

2024-02-02 05:15 PM
13
cve
cve

CVE-2024-24561

Vyper is a pythonic Smart Contract Language for the ethereum virtual machine. In versions 0.3.10 and earlier, the bounds check for slices does not account for the ability for start + length to overflow when the values aren't literals. If a slice() function uses a non-literal argument for the start ...

9.8CVSS

9.5AI Score

0.001EPSS

2024-02-01 05:15 PM
11
cve
cve

CVE-2024-24563

Vyper is a Pythonic Smart Contract Language for the Ethereum Virtual Machine. Arrays can be keyed by a signed integer, while they are defined for unsigned integers only. The typechecker doesn't throw when spotting the usage of an int as an index for an array. The typechecker allows the usage of sig...

9.8CVSS

9.1AI Score

0.001EPSS

2024-02-07 05:15 PM
19
cve
cve

CVE-2024-24564

Vyper is a pythonic Smart Contract Language for the ethereum virtual machine. When using the built-in extract32(b, start), if the start index provided has for side effect to update b, the byte array to extract 32 bytes from, it could be that some dirty memory is read and returned by extract32. This...

3.7CVSS

4.1AI Score

0.0004EPSS

2024-02-26 08:19 PM
82
cve
cve

CVE-2024-24567

Vyper is a pythonic Smart Contract Language for the ethereum virtual machine. Vyper compiler allows passing a value in builtin raw_call even if the call is a delegatecall or a staticcall. But in the context of delegatecall and staticcall the handling of value is not possible due to the semantics of...

5.3CVSS

5.1AI Score

0.0005EPSS

2024-01-30 09:15 PM
27
cve
cve

CVE-2024-26149

Vyper is a pythonic Smart Contract Language for the ethereum virtual machine. If an excessively large value is specified as the starting index for an array in _abi_decode, it can cause the read position to overflow. This results in the decoding of values outside the intended array bounds, potential...

3.7CVSS

4.1AI Score

0.0004EPSS

2024-02-26 08:19 PM
80
cve
cve

CVE-2024-32481

Vyper is a pythonic Smart Contract Language for the Ethereum virtual machine. Starting in version 0.3.8 and prior to version 0.4.0b1, when looping over a range of the form range(start, start + N), if start is negative, the execution will always revert. This issue is caused by an incorrect assertion...

5.3CVSS

6.7AI Score

0.0004EPSS

2024-04-25 05:15 PM
24
cve
cve

CVE-2024-32645

Vyper is a pythonic Smart Contract Language for the Ethereum virtual machine. In versions 0.3.10 and prior, incorrect values can be logged when raw_log builtin is called with memory or storage arguments to be used as topics. A contract search was performed and no vulnerable contracts were found in ...

5.3CVSS

5.3AI Score

0.0004EPSS

2024-04-25 06:15 PM
28
cve
cve

CVE-2024-32646

Vyper is a pythonic Smart Contract Language for the Ethereum virtual machine. In versions 0.3.10 and prior, using the slice builtin can result in a double eval vulnerability when the buffer argument is either msg.data, self.code or <address>.code and either the start or length arguments have side-e...

5.3CVSS

7AI Score

0.0004EPSS

2024-04-25 06:15 PM
28
cve
cve

CVE-2024-32647

Vyper is a pythonic Smart Contract Language for the Ethereum virtual machine. In versions 0.3.10 and prior, using the create_from_blueprint builtin can result in a double eval vulnerability when raw_args=True and the args argument has side-effects. It can be seen that the _build_create_IR function ...

5.3CVSS

6.8AI Score

0.0004EPSS

2024-04-25 06:15 PM
34
cve
cve

CVE-2024-32648

Vyper is a pythonic Smart Contract Language for the Ethereum virtual machine. Prior to version 0.3.0, default functions don't respect nonreentrancy keys and the lock isn't emitted. No vulnerable production contracts were found. Additionally, using a lock on a default function is a very sparsely use...

5.3CVSS

6.7AI Score

0.0004EPSS

2024-04-25 06:15 PM
34
cve
cve

CVE-2024-32649

Vyper is a pythonic Smart Contract Language for the Ethereum virtual machine. In versions 0.3.10 and prior, using the sqrt builtin can result in double eval vulnerability when the argument has side-effects. It can be seen that the build_IR function of the sqrt builtin doesn't cache the argument to ...

5.3CVSS

6.8AI Score

0.0004EPSS

2024-04-25 06:15 PM
32