Katalog CVE

CVE-2026-114663

WysokieCVSS 8.4
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.14%

Percentyl 3 - wyżej niż 3% wszystkich znanych CVE

Streszczenie

Vyper w wersjach od 0.4.0b1 do 0.5.0b1 błędnie kompiluje stałe, których nie można rozwinąć, oraz pominięte argumenty domyślne z importowanych modułów, ponieważ parse_Name rozwiązuje ich nazwy w zakresie funkcji używającej, a nie w miejscu deklaracji. Gdy parametr, zmienna lokalna lub zmienna pętli kontraktu dzieli taką nazwę, dane wejściowe pod wpływem atakującego mogą zastąpić zamierzoną wartość, w tym wartości poza zakresem dla wąskich typów, takich jak uint8, psując logikę walidacji lub księgowania.

Ocena ryzyka

Atakujący może wpłynąć na dane wejściowe, aby zastąpić zamierzone wartości stałych, co może prowadzić do błędnej walidacji lub błędnego księgowania w kontraktach. Może to skutkować utratą środków lub nieprawidłowym działaniem logiki biznesowej.

Rekomendacja

Zaktualizuj kompilator Vyper do wersji nowszej niż 0.5.0b1, gdy będzie dostępna poprawka. Do czasu aktualizacji przejrzyj kontrakty korzystające z importowanych stałych i pominiętych argumentów domyślnych oraz unikaj nazw kolidujących z parametrami i zmiennymi lokalnymi.

Inne podatności w Vyper

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

Vyper 0.4.0b1 through 0.5.0b1 miscompiles unfoldable constants and omitted default arguments from imported modules, because parse_Name resolves their names in the using function's scope rather than at declaration. When a contract's parameter, local, or loop variable shares such a name, attacker-influenced input can replace the intended value, including out-of-range values for narrow types such as uint8, corrupting validation or accounting logic.

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