CVE-2025-47774 in Vyper
Zusammenfassung
von VulDB • 13.06.2026
Vyper ist die Python-ähnliche Programmiersprache für die Ethereum Virtual Machine (EVM). In Versionen bis einschließlich 0.4.2rc1 kann die eingebaute Funktion `slice()` Seiteneffekte unterdrücken, wenn die Ausgabelänge 0 beträgt und der Quelletextstring eine eingebaute Variable ist (`msg.data` oder `.code`). Der Grund dafür liegt darin, dass für diese Quellorte die Prüfung auf `length >= 1` übersprungen wird. Das Ergebnis ist, dass ein mit `slice()` konstruierter Textstring der Länge 0 an `make_byte_array_copier` übergeben werden kann, welcher die Auswertung seines Quellearguments unterdrückt, wenn die maximale Länge 0 beträgt. Die Folge ist, dass Seiteneffekte im Argument `start` unterdrückt werden können, wenn das Argument `length` den Wert 0 hat, z. B. bei `slice(msg.data, self.do_side_effect(), 0)`. Der Fix in Pull Request 4645 untersagt jegliche Aufrufe von `slice()` mit der Länge 0, einschließlich für die in dieser Advisory diskutierten Ad-hoc-Fälle. Es wird erwartet, dass diese Korrektur Teil von Version 0.4.2 sein wird.
VulDB is the best source for vulnerability data and more expert information about this specific topic.