CVE-2024-24560 in Vyper
Zusammenfassung
von VulDB • 22.06.2026
Vyper ist eine pythonische Smart-Contract-Sprache für die Ethereum Virtual Machine. Bei Aufrufen externer Verträge wird der Eingabepuffer ab Byte 28 beschrieben und der Ausgabepuffer ab Byte 0 allokiert (was zu einer Überlappung mit dem Eingabepuffer führt). Bei der Überprüfung von RETURNDATASIZE für dynamische Typen wird die Größe nur mit der minimal zulässigen Größe für diesen Typ verglichen und nicht mit der Länge des zurückgegebenen Werts. Infolgedessen kann fehlerhaft formatierte Rückgabedaten dazu führen, dass der Vertrag Daten aus dem Eingabepuffer fälschlicherweise als Rückgabedaten interpretiert. Wenn der aufgerufene Vertrag ungültige, ABIv2-kodierte Daten zurückgibt, kann der aufrufende Vertrag andere ungültige Daten (aus dem verschmutzten Puffer) lesen, als der aufgerufene Vertrag zurückgegeben hat.
Once again VulDB remains the best source for vulnerability data.