CVE-2025-47774
Python vulnerability analysis and mitigation

Overview

Vyper, a Pythonic Programming Language for the Ethereum Virtual Machine, contains a vulnerability in versions up to and including 0.4.2rc1. The vulnerability was discovered and disclosed on May 15, 2025, and involves the slice() builtin function which can elide side effects when the output length is 0 and the source bytestring is a builtin (msg.data or .code). The vulnerability has been assigned CVE-2025-47774 with a CVSS v4.0 score of 2.9 (LOW) (GitHub Advisory, NVD).

Technical details

The vulnerability stems from a skipped length validation check in the slice() builtin function when handling ad-hoc locations. For these source locations, the check that length >= 1 is bypassed, allowing a 0-length bytestring to be constructed with slice and passed to makebytearray_copier. The vulnerability is classified under CWE-691 (Insufficient Control Flow Management). The issue occurs because the length validation check is only performed for non-adhoc slice operations, leaving a gap in validation for certain source locations (GitHub Advisory).

Impact

The primary impact is that side effects in the start argument may be elided when the length argument is 0. For example, in an expression like slice(msg.data, self.do_side_effect(), 0), the side effect function may not be executed as expected. The severity is considered low as this pattern is not commonly used in practical applications and is unlikely to be found in typical user code (GitHub Advisory).

Mitigation and workarounds

A fix has been implemented in pull request #4645, which disallows any invocation of slice() with length 0, including for the ad hoc locations. This fix is expected to be included in version 0.4.2. Until the patch is available, users should ensure that all calls to the slice() function use a length greater than 0 (GitHub Advisory).

Additional resources


SourceThis report was generated using AI

Related Python vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2025-67511CRITICAL9.6
  • PythonPython
  • cai-framework
NoNoDec 11, 2025
CVE-2025-13780CRITICAL9.1
  • PythonPython
  • cpe:2.3:a:pgadmin:pgadmin
NoYesDec 11, 2025
CVE-2025-67644HIGH7.3
  • PythonPython
  • langgraph-checkpoint-sqlite
NoYesDec 11, 2025
CVE-2025-67720MEDIUM6.5
  • PythonPython
  • pyrofork
NoYesDec 11, 2025
CVE-2025-67485MEDIUM5.3
  • PythonPython
  • mad-proxy
NoNoDec 10, 2025

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management