Katalog CVE

CVE-2026-58592

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.55%

Percentyl 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
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