CVE-2025-21607
CVE-2025-21607 is a high-severity vulnerability in Vyperlang Vyper with a CVSS 3.x base score of 7.5. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-670.
Key facts
- Severity: High (CVSS 3.x base score 7.5)
- CVSS v4: 2.3
- EPSS exploit prediction: 1% (46th percentile)
- Actively exploited: Not listed in CISA KEV
- EU (EUVD) id: EUVD-2025-0067
- Weakness: CWE-670
- Affected product: Vyperlang Vyper
- Published:
- Last modified:
Description
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. This issue is fixed in 0.4.1.
Frequently asked questions
- What is CVE-2025-21607?
- 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. This issue is fixed in 0.4.1.
- How severe is CVE-2025-21607?
- CVE-2025-21607 has a CVSS 3.x base score of 7.5, rated high severity. It is exploitable over network with low attack complexity, requires no privileges and no user interaction. Impact on confidentiality is none, integrity high, and availability none.
- Is CVE-2025-21607 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 1% (46th percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2025-21607?
- CVE-2025-21607 affects Vyperlang Vyper. See the affected-products list for the exact vulnerable versions.
- How do I fix CVE-2025-21607?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround. Given its high severity, prioritise patching exposed systems.
- Does CVE-2025-21607 have an EU (EUVD) identifier?
- Yes. CVE-2025-21607 is tracked in the ENISA EU Vulnerability Database (EUVD) as EUVD-2025-0067.
- When was CVE-2025-21607 published?
- CVE-2025-21607 was published on 2025-01-14 and last updated on 2026-06-17.
References
- https://github.com/vyperlang/vyper/commit/7136eab0a254aa2ff7ddca41cc05f2ee1fa99caf
- https://github.com/vyperlang/vyper/pull/4451
- https://github.com/vyperlang/vyper/security/advisories/GHSA-vgf2-gvx8-xwc3
Affected products (1)
- cpe:2.3:a:vyperlang:vyper:*:-:*:*:*:python:*:*
More vulnerabilities in Vyperlang Vyper
- CVE-2024-24563 — Critical (CVSS 9.8): Vyper is a Pythonic Smart Contract Language for the Ethereum Virtual Machine. Arrays can be keyed by a signed integer,…
- CVE-2024-24561 — Critical (CVSS 9.8): Vyper is a pythonic Smart Contract Language for the ethereum virtual machine. In versions 0.3.10 and earlier, the…
- CVE-2025-27105 — Critical (CVSS 9.1): vyper is a Pythonic Smart Contract Language for the EVM. Vyper handles AugAssign statements by first caching the target…
- CVE-2022-24845 — High (CVSS 8.8): Vyper is a pythonic Smart Contract Language for the ethereum virtual machine. In affected versions, the return of…
- CVE-2022-29255 — High (CVSS 8.2): Vyper is a Pythonic Smart Contract Language for the ethereum virtual machine. In versions prior to 0.3.4 when a calling…
- CVE-2023-42443 — High (CVSS 8.1): Vyper is a Pythonic Smart Contract Language for the Ethereum Virtual Machine (EVM). In version 0.3.9 and prior, under…
All CVEs affecting Vyperlang Vyper →
Other CWE-670 vulnerabilities
- CVE-2025-43359 — Critical (CVSS 9.8): A logic issue was addressed with improved state management. This issue is fixed in iOS 18.7 and iPadOS 18.7, iOS 26 and…
- CVE-2022-25745 — Critical (CVSS 9.8): Memory corruption in modem due to improper input validation while handling the incoming CoAP message
- CVE-2020-1914 — Critical (CVSS 9.8): A logic vulnerability when handling the SaveGeneratorLong instruction in Facebook Hermes prior to commit…
- CVE-2020-17466 — Critical (CVSS 9.8): Turcom TRCwifiZone through 2020-08-10 allows authentication bypass by visiting manage/control.php and ignoring 302…
- CVE-2019-17192 — Critical (CVSS 9.8): The WebRTC component in the Signal Private Messenger application through 4.47.7 for Android processes videoconferencing…
- CVE-2026-55276 — Critical (CVSS 9.1): Always-Incorrect Control Flow Implementation vulnerability in Apache Tomcat meant that special roles and empty…