Staging Environment: Content and features may be unstable or change without notice.
Search for packages
Package details: pkg:pypi/vyper@0.4.1
purl pkg:pypi/vyper@0.4.1
Vulnerabilities affecting this package (0)
Vulnerability Summary Fixed by
This package is not known to be affected by vulnerabilities.
Vulnerabilities fixed by this package (4)
Vulnerability Summary Aliases
VCID-1r9c-w5zc-6ker 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. CVE-2025-27105
GHSA-4w26-8p97-f4jp
PYSEC-2025-31
VCID-djvb-mdjy-b7g5 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. CVE-2025-27104
GHSA-h33q-mhmp-8p67
PYSEC-2025-30
VCID-m355-31jd-1kfq 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. CVE-2025-21607
PYSEC-2025-33
VCID-wc7x-rsqa-bkcm 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. CVE-2025-26622
GHSA-2p94-8669-xg86
PYSEC-2025-29

Date Actor Action Vulnerability Source VulnerableCode Version
2026-06-02T04:22:48.157958+00:00 Pypa Importer Fixing 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.852240+00:00 Pypa Importer Fixing 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.545689+00:00 Pypa Importer Fixing 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.942406+00:00 Pypa Importer Fixing VCID-m355-31jd-1kfq https://github.com/pypa/advisory-database/blob/main/vulns/vyper/PYSEC-2025-33.yaml 38.6.0