CVE-2025-47774
CVE-2025-47774 is a low-severity vulnerability with a CVSS 4.0 base score of 2.9. 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-691.
Key facts
- Severity: Low (CVSS 4.0 base score 2.9)
- EPSS exploit prediction: 0% (30th percentile)
- Actively exploited: Not listed in CISA KEV
- EU (EUVD) id: EUVD-2025-15443
- Weakness: CWE-691
- Published:
- Last modified:
Description
Vyper is the Pythonic Programming Language for the Ethereum Virtual Machine. In versions up to and including 0.4.2rc1, the `slice()` builtin can elide side effects when the output length is 0, and the source bytestring is a builtin (`msg.data` or `<address>.code`). The reason is that for these source locations, the check that `length >= 1` is skipped. The result is that a 0-length bytestring constructed with slice can be passed to `make_byte_array_copier`, which elides evaluation of its source argument when the max length is 0. The impact is that side effects in the `start` argument may be elided when the `length` argument is 0, e.g. `slice(msg.data, self.do_side_effect(), 0)`. The fix in pull request 4645 disallows any invocation of `slice()` with length 0, including for the ad hoc locations discussed in this advisory. The fix is expected to be part of version 0.4.2.
Frequently asked questions
- What is CVE-2025-47774?
- Vyper is the Pythonic Programming Language for the Ethereum Virtual Machine. In versions up to and including 0.4.2rc1, the `slice()` builtin can elide side effects when the output length is 0, and the source bytestring is a builtin (`msg.data` or `<address>.code`). The reason is that for these source locations, the check that `length >= 1` is skipped. The result is that a 0-length bytestring constructed with slice can be passed to `make_byte_array_copier`, which elides evaluation of its source argument when the max length is 0. The impact is that side effects in the `start` argument may be elided when the `length` argument is 0, e.g. `slice(msg.data, self.do_side_effect(), 0)`. The fix in pull request 4645 disallows any invocation of `slice()` with length 0, including for the ad hoc locations discussed in this advisory. The fix is expected to be part of version 0.4.2.
- How severe is CVE-2025-47774?
- CVE-2025-47774 has a CVSS 4.0 base score of 2.9, rated low severity.
- Is CVE-2025-47774 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 0% (30th percentile), an estimate of the probability of exploitation in the next 30 days.
- How do I fix CVE-2025-47774?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround.
- Does CVE-2025-47774 have an EU (EUVD) identifier?
- Yes. CVE-2025-47774 is tracked in the ENISA EU Vulnerability Database (EUVD) as EUVD-2025-15443.
- When was CVE-2025-47774 published?
- CVE-2025-47774 was published on 2025-05-15 and last updated on 2026-06-17.
References
- https://github.com/vyperlang/vyper/blob/68b68c4b30c5ef2f312b4674676170b8a6eaa316/vyper/builtins/functions.py#L315-L319
- https://github.com/vyperlang/vyper/blob/68b68c4b30c5ef2f312b4674676170b8a6eaa316/vyper/codegen/core.py#L189-L191
- https://github.com/vyperlang/vyper/pull/4645
- https://github.com/vyperlang/vyper/security/advisories/GHSA-3vcg-j39x-cwfm
Other CWE-691 vulnerabilities
- CVE-2023-20559 — High (CVSS 8.8): Insufficient control flow management in AmdCpmGpioInitSmm may allow a privileged attacker to tamper with the SMM…
- CVE-2025-25273 — High (CVSS 7.8): Insufficient control flow management in the Linux kernel-mode driver for some Intel(R) 700 Series Ethernet before…
- CVE-2025-22893 — High (CVSS 7.8): Insufficient control flow management in the Linux kernel-mode driver for some Intel(R) 800 Series Ethernet before…
- CVE-2021-4106 — High (CVSS 7.8): A vulnerability in Snow Inventory Java Scanner allows an attacker to run malicious code at a higher level of…
- CVE-2025-35963 — High (CVSS 7.4): Insufficient control flow management for some Intel(R) PROSet/Wireless WiFi Software for Windows before version 23.160…
- CVE-2025-24305 — High (CVSS 7.2): Insufficient control flow management in the Alias Checking Trusted Module (ACTM) firmware for some Intel(R) Xeon(R)…