Katalog CVE

CVE-2020-37287

ŚrednieCVSS 5.9
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

Vyper w wersji przed 0.2.6 zawiera podatność na uszkodzenie stosu wywołań, która powoduje nieprawidłowe wyniki funkcji, gdy złożone typy z elementami niebazowymi są przekazywane jako argumenty. Kontrakty przekazujące wielowymiarowe tablice lub struktury do funkcji wewnętrznych lub zewnętrznych otrzymują uszkodzone wartości, ponieważ kompilator zakładał, że rozmiar każdego podtypu wynosi 32.

Ocena ryzyka

Kontrakty inteligentne mogą zwracać błędne wartości lub przekazywać nieprawidłowe argumenty, co prowadzi do błędów logiki i potencjalnych strat. Organizacje korzystające z Vyper z złożonymi typami danych są narażone na nieprzewidywalne zachowanie kontraktów.

Rekomendacja

Zaktualizuj kompilator Vyper do wersji 0.2.6 lub nowszej i ponownie wdróż dotknięte kontrakty. Przetestuj kontrakty przekazujące wielowymiarowe tablice i struktury pod kątem poprawności wyników.

Inne podatności w Vyper

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

Vyper before 0.2.6 contains a call stack corruption vulnerability that causes incorrect function outputs when complex types with non-base members are passed as arguments. Contracts passing multi-dimensional arrays or structs to internal or external functions receive corrupted values because the compiler assumed each subtype size is 32.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS