Search for packages
| purl | pkg:pypi/vyper@0.4.1b2 |
| 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. |
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. |
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. |
Affected by 0 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. |
Affected by 0 other vulnerabilities. |
| Vulnerability | Summary | Aliases |
|---|---|---|
| This package is not known to fix vulnerabilities. | ||
| Date | Actor | Action | Vulnerability | Source | VulnerableCode Version |
|---|---|---|---|---|---|
| 2026-06-02T04:22:48.135027+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.829040+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.523529+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.916009+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 |