CVE-2026-58592
WysokieCVSS 8.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 46 - wyżej niż 46% wszystkich znanych CVE
Streszczenie
Ladybird przed commitem 2f9dc7e zawiera błąd bezpieczeństwa pamięci typu dangling reference w module ładującym WebAssembly ESM-integration. Gdy funkcja JavaScript jest importowana do modułu WebAssembly ścieżką ESM, WebAssemblyModule.cpp przekazuje przez referencję lokalny na stosie obiekt Wasm::FunctionType do create_host_function, którego callback przechwytuje i później odczytuje tę referencję; po zakończeniu iteracji pętli linkowania ESM obiekt FunctionType jest niszczony, pozostawiając callback z wiszącą referencją. Nieaktualne dane typu wyniku pozwalają callbackowi zwrócić pusty wektor wyników dla statycznie niepustego wyniku, przez co rejestr docelowy zachowuje wartość pod wpływem atakującego, konsumowaną następnie przez handler WASM-GC array.set, który po jedynie sprawdzeniu null bit-castuje niskie bity referencji na wskaźnik ArrayInstance, dając dowolny zapis.
Ocena ryzyka
Strona internetowa może wykorzystać tę podatność do wykonania dowolnego kodu w procesie WebContent przeglądarki. Ryzyko jest krytyczne, ponieważ podatność jest osiągalna z treści HTML bez żadnej instrumentacji czy modyfikacji źródeł.
Rekomendacja
Zaktualizuj Ladybird do commita 2f9dc7e lub nowszego. Do czasu aktualizacji rozważ ograniczenie wykonywania treści WebAssembly z niezaufanych stron.
Inne podatności w Ladybird
Zobacz wszystkie- CVE-2026-119332Wysokie
W przeglądarce Ladybird przed commitem 209579c funkcja FinalizationRegistry::cleanup() usuwała martwy rekord, zachowywała iterator do następnego rekordu, a następnie wywoływała kontrolowany przez atakującego kod JavaScript. Jeśli callback wywołał unregister() dla następnego rekordu, zachowany iterator wskazywał na zwolniony węzeł, a kolejna iteracja czytała jego pola po zwolnieniu.
- CVE-2026-119331Wysokie
W przeglądarce Ladybird przed commitem c0d68bd funkcje CSSStyleSheet.cssRules, insertRule() i deleteRule() nie egzekwowały flagi origin-clean arkusza stylów wymaganym błędem SecurityError, mimo że importowane arkusze cross-origin były poprawnie oznaczane jako nie-origin-clean. Złośliwa strona mogła odczytywać reguły oraz wstawiać i usuwać reguły w arkuszu ofiary, omijając politykę Same-Origin.
Oryginalny opis (angielski, źródło NVD)
Ladybird before commit 2f9dc7e contains a dangling-reference memory-safety flaw in its WebAssembly ESM-integration module loader. When a JavaScript function is imported into a WebAssembly module via the ESM path, WebAssemblyModule.cpp passes a stack-local Wasm::FunctionType by reference to create_host_function, whose host callback captures and later reads that reference; once the ESM link-loop iteration ends the FunctionType is destroyed, leaving the callback with a dangling reference (the normal instantiate path uses a long-lived reference and is not affected). Stale result-type data lets the host callback return an empty result vector for a statically non-empty result, so the destination register retains an attacker-influenced value that is then consumed by the WASM-GC array.set handler, which bit-casts the reference low bits to an ArrayInstance pointer after only a null check, yielding an arbitrary write. A web page can chain this into code execution in the WebContent process. Verified reachable from HTML content without any instrumentation or source modification.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

