CVE-2025-47774 in Vyper
Riassunto
di VulDB • 19/06/2026
Vyper è il linguaggio di programmazione di ispirazione Python per la Ethereum Virtual Machine. Nelle versioni fino alla 0.4.2rc1 incluse, la funzione built-in `slice()` può omettere gli effetti collaterali quando la lunghezza dell'output è 0 e la stringa di byte di origine è una funzione built-in (`msg.data` o `.code`). Ciò avviene perché, per queste posizioni di origine, viene saltato il controllo che verifica se `length >= 1`. Il risultato è che una stringa di byte di lunghezza 0 costruita tramite `slice` può essere passata a `make_byte_array_copier`, il quale omette la valutazione del suo argomento di origine quando la lunghezza massima è 0. L'impatto è che gli effetti collaterali presenti nell'argomento `start` possono essere omessi quando l'argomento `length` è 0, ad esempio in `slice(msg.data, self.do_side_effect(), 0)`. La correzione introdotta nella pull request 4645 non consente alcuna invocazione di `slice()` con lunghezza 0, incluse le posizioni ad hoc discusse in questa advisory. La correzione dovrebbe essere inclusa nella versione 0.4.2.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.