Staging Environment: Content and features may be unstable or change without notice.
Search for packages
Package details: pkg:pypi/vyper@0.4.0b2
purl pkg:pypi/vyper@0.4.0b2
Next non-vulnerable version 0.4.1
Latest non-vulnerable version 0.4.1
Risk
Vulnerabilities affecting this package (9)
Vulnerability Summary Fixed by
VCID-1r9c-w5zc-6ker
Aliases:
CVE-2025-27105
GHSA-4w26-8p97-f4jp
PYSEC-2025-31
vyper is a Pythonic Smart Contract Language for the EVM. Vyper handles AugAssign statements by first caching the target location to avoid double evaluation. However, in the case when target is an access to a DynArray and the rhs modifies the array, the cached target will evaluate first, and the bounds check will not be re-evaluated during the write portion of the statement. This issue has been addressed in version 0.4.1 and all users are advised to upgrade. There are no known workarounds for this vulnerability.
0.4.1
Affected by 0 other vulnerabilities.
VCID-djvb-mdjy-b7g5
Aliases:
CVE-2025-27104
GHSA-h33q-mhmp-8p67
PYSEC-2025-30
vyper is a Pythonic Smart Contract Language for the EVM. Multiple evaluation of a single expression is possible in the iterator target of a for loop. While the iterator expression cannot produce multiple writes, it can consume side effects produced in the loop body (e.g. read a storage variable updated in the loop body) and thus lead to unexpected program behavior. Specifically, reads in iterators which contain an ifexp (e.g. `for s: uint256 in ([read(), read()] if True else [])`) may interleave reads with writes in the loop body. Vyper for loops allow two kinds of iterator targets, namely the `range()` builtin and an iterable type, like SArray and DArray. During codegen, iterable lists are required to not produce any side-effects (in the following code, `range_scope` forces `iter_list` to be parsed in a constant context, which is checked against `is_constant`). However, this does not prevent the iterator from consuming side effects provided by the body of the loop. For SArrays on the other hand, `iter_list` is instantiated in the body of a `repeat` ir, so it can be evaluated several times. This issue is being addressed and is expected to be available in version 0.4.1. Users are advised to upgrade as soon as the patched release is available. There are no known workarounds for this vulnerability.
0.4.1
Affected by 0 other vulnerabilities.
VCID-m355-31jd-1kfq
Aliases:
CVE-2025-21607
PYSEC-2025-33
Vyper is a Pythonic Smart Contract Language for the EVM. When the Vyper Compiler uses the precompiles EcRecover (0x1) and Identity (0x4), the success flag of the call is not checked. As a consequence an attacker can provide a specific amount of gas to make these calls fail but let the overall execution continue. Then the execution result can be incorrect. Based on EVM's rules, after the failed precompile the remaining code has only 1/64 of the pre-call-gas left (as 63/64 were forwarded and spent). Hence, only fairly simple executions can follow the failed precompile calls. Therefore, we found no significantly impacted real-world contracts. None the less an advisory has been made out of an abundance of caution. There are no actions for users to take.
0.4.1
Affected by 0 other vulnerabilities.
VCID-qfyr-upmm-duea
Aliases:
CVE-2024-32645
GHSA-xchq-w5r3-4wg3
PYSEC-2024-206
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 production. The `build_IR` function of the `RawLog` class fails to properly unwrap the variables provided as topics. Consequently, incorrect values are logged as topics. As of time of publication, no fixed version is available.
0.4.0
Affected by 4 other vulnerabilities.
VCID-vz6u-kbjy-hkfc
Aliases:
CVE-2024-32647
GHSA-3whq-64q2-qfj6
PYSEC-2024-208
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 of the `create_from_blueprint` builtin doesn't cache the mentioned `args` argument to the stack. As such, it can be evaluated multiple times (instead of retrieving the value from the stack). No vulnerable production contracts were found. Additionally, double evaluation of side-effects should be easily discoverable in client tests. As such, the impact is low. As of time of publication, no fixed versions exist.
0.4.0
Affected by 4 other vulnerabilities.
VCID-wc7x-rsqa-bkcm
Aliases:
CVE-2025-26622
GHSA-2p94-8669-xg86
PYSEC-2025-29
vyper is a Pythonic Smart Contract Language for the EVM. Vyper `sqrt()` builtin uses the babylonian method to calculate square roots of decimals. Unfortunately, improper handling of the oscillating final states may lead to sqrt incorrectly returning rounded up results. This issue is being addressed and a fix is expected in version 0.4.1. Users are advised to upgrade as soon as the patched release is available. There are no known workarounds for this vulnerability.
0.4.1
Affected by 0 other vulnerabilities.
VCID-wmen-dnf4-2kef
Aliases:
CVE-2024-24564
GHSA-4hwq-4cpm-8vmx
PYSEC-2024-205
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 vulnerability is fixed in 0.4.0.
0.4.0
Affected by 4 other vulnerabilities.
VCID-x4dz-scmh-b7dj
Aliases:
CVE-2024-32649
PYSEC-2024-209
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 the stack. As such, it can be evaluated multiple times (instead of retrieving the value from the stack). No vulnerable production contracts were found. Additionally, double evaluation of side-effects should be easily discoverable in client tests. As such, the impact is low. As of time of publication, no fixed versions are available.
0.4.0
Affected by 4 other vulnerabilities.
VCID-zkhz-ckgg-hkat
Aliases:
CVE-2024-32646
PYSEC-2024-207
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-effects. It can be easily triggered only with the versions `<0.3.4` as `0.3.4` introduced the unique symbol fence. No vulnerable production contracts were found. Additionally, double evaluation of side-effects should be easily discoverable in client tests. As such, the impact is low. As of time of publication, no fixed versions are available.
0.4.0
Affected by 4 other vulnerabilities.
Vulnerabilities fixed by this package (0)
Vulnerability Summary Aliases
This package is not known to fix vulnerabilities.

Date Actor Action Vulnerability Source VulnerableCode Version
2026-06-02T04:22:48.085942+00:00 Pypa Importer Affected by VCID-wc7x-rsqa-bkcm https://github.com/pypa/advisory-database/blob/main/vulns/vyper/PYSEC-2025-29.yaml 38.6.0
2026-06-02T04:22:47.777573+00:00 Pypa Importer Affected by VCID-djvb-mdjy-b7g5 https://github.com/pypa/advisory-database/blob/main/vulns/vyper/PYSEC-2025-30.yaml 38.6.0
2026-06-02T04:22:47.475791+00:00 Pypa Importer Affected by VCID-1r9c-w5zc-6ker https://github.com/pypa/advisory-database/blob/main/vulns/vyper/PYSEC-2025-31.yaml 38.6.0
2026-06-02T04:22:42.865992+00:00 Pypa Importer Affected by VCID-m355-31jd-1kfq https://github.com/pypa/advisory-database/blob/main/vulns/vyper/PYSEC-2025-33.yaml 38.6.0
2026-06-02T04:21:12.843112+00:00 Pypa Importer Affected by VCID-x4dz-scmh-b7dj https://github.com/pypa/advisory-database/blob/main/vulns/vyper/PYSEC-2024-209.yaml 38.6.0
2026-06-02T04:21:12.409968+00:00 Pypa Importer Affected by VCID-zkhz-ckgg-hkat https://github.com/pypa/advisory-database/blob/main/vulns/vyper/PYSEC-2024-207.yaml 38.6.0
2026-06-02T04:21:12.145851+00:00 Pypa Importer Affected by VCID-qfyr-upmm-duea https://github.com/pypa/advisory-database/blob/main/vulns/vyper/PYSEC-2024-206.yaml 38.6.0
2026-06-02T04:21:11.884727+00:00 Pypa Importer Affected by VCID-vz6u-kbjy-hkfc https://github.com/pypa/advisory-database/blob/main/vulns/vyper/PYSEC-2024-208.yaml 38.6.0
2026-06-02T04:21:01.215554+00:00 Pypa Importer Affected by VCID-wmen-dnf4-2kef https://github.com/pypa/advisory-database/blob/main/vulns/vyper/PYSEC-2024-205.yaml 38.6.0