CVE-2026-54912
WysokieCVSS 8.8Streszczenie
W WebAssembly Micro Runtime (WAMR) przed wersją 2.4.5 dwuprzebiegowy loader szybkiego interpretera w wasm_loader.c może podejmować niespójne decyzje dotyczące tablicy stałych między przebiegiem rozmiarowania a przebiegiem emisji. Złośliwy moduł może spowodować, że drugi przebieg zapisze częściowo kontrolowane przez atakującego dane skompilowanego kodu poza buforem sterty przydzielonym na podstawie obliczeń rozmiaru z pierwszego przebiegu, co uszkadza metadane sterty hosta i powoduje deterministyczną awarię procesu.
Ocena ryzyka
Podatność umożliwia złośliwemu modułowi uszkodzenie metadanych sterty hosta i deterministyczną awarię procesu (odmowa usługi), a dalsze skutki zależą od układu sterty aplikacji hosta. Dotyczy kompilacji z WAMR_BUILD_FAST_INTERP=1.
Rekomendacja
Zaktualizuj WAMR do wersji 2.4.5 lub nowszej. Jako obejście wyłącz szybki interpreter (WAMR_BUILD_FAST_INTERP), co pozwala uniknąć podatnego loadera.
Inne podatności w WebAssembly Micro Runtime (WAMR)
Zobacz wszystkie- CVE-2026-54914Wysokie
W WebAssembly Micro Runtime (WAMR) przed wersją 2.4.5 funkcja wasi_poll_oneoff waliduje wskaźnik wyjściowy tylko dla jednego zdarzenia wasi_event_t, podczas gdy wasmtime_ssp_poll_oneoff może zapisać tyle zdarzeń, ile wynosi kontrolowana przez gościa wartość nsubscriptions. Złośliwy moduł gościa może spowodować zapis poza zwalidowaną granicą pamięci liniowej Wasm do sąsiedniej pamięci sterty hosta, co prowadzi do awarii procesu hosta, a w zależności od układu sterty także do naruszenia poufności lub integralności.
- CVE-2026-54913Średnie
WebAssembly Micro Runtime (WAMR) przed wersją 2.4.5 w funkcji load_init_expr akceptuje nieprawidłowy bajt typu sterty dla ref.null, gdy WASM_ENABLE_GC=0, a unia WASMValue cur_value nie jest zerowana. Złośliwy moduł może zadeklarować globalną zmienną i64, f64 lub v128 zainicjalizowaną przez nieprawidłową formę ref.null, powodując skopiowanie niezainicjalizowanych bajtów stosu hosta do wartości czytelnej dla gościa.
- CVE-2025-64713Średnie
WebAssembly Micro Runtime (WAMR) to lekki samodzielny runtime WebAssembly. Przed wersją 2.4.4 w trybie szybkiego interpretera podczas ładowania bajtkodu WASM występuje problem dostępu poza granice tablicy związany z tablicami frame_ref_bottom i frame_offset_bottom. Został on naprawiony w wersji 2.4.4.
- CVE-2025-64704Średnie
WebAssembly Micro Runtime (WAMR) to lekki, samodzielny runtime WebAssembly (Wasm). Przed wersją 2.4.4 WAMR jest podatny na błąd segmentacji w instrukcji v128.store. Problem został naprawiony w wersji 2.4.4.
Oryginalny opis (angielski, źródło NVD)
WebAssembly Micro Runtime (WAMR) is a lightweight standalone WebAssembly (Wasm) runtime. Prior to 2.4.5, the two-pass fast interpreter loader in core/iwasm/interpreter/wasm_loader.c can make inconsistent constant-table decisions between the sizing pass and the emitting pass. After duplicate constants inflate the first pass beyond the constant-slot limit, wasm_loader_get_const_offset emits later constants inline, but the between-pass sort and deduplication reduces the table so the second pass can choose table references and cause reserve_block_ret to emit additional copy operands that were not included in code_compiled_peak_size. A crafted module can therefore make the second pass write partially attacker-controlled compiled-code data beyond the heap buffer allocated from the first pass's size calculation during wasm_runtime_load, before guest code executes. This can corrupt host heap metadata and deterministically crash the process, causing denial of service; further consequences depend on the host application's heap layout. Builds using WAMR_BUILD_FAST_INTERP=1 are affected; disabling the fast interpreter avoids the vulnerable loader. This issue is fixed in version 2.4.5.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

