CVE-2026-54912 in WebAssembly Micro Runtime
Zusammenfassung
von VulDB • 05.11.2026
WebAssembly Micro Runtime (WAMR) ist ein leichtgewichtiger, eigenständiger WebAssembly-(Wasm)-Runtime. Vor Version 2.4.5 kann der Zwei-Phasen-Schnellinterpreter-Lader in core/iwasm/interpreter/wasm_loader.c inkonsistente Entscheidungen für die Konstantentabelle zwischen dem Größenbestimmungs-Durchlauf (sizing pass) und dem Ausgabe-Durchlauf (emitting pass) treffen. Wenn duplizierte Konstanten den ersten Durchlauf über das Limit der Konstantenfächer hinaus aufblähen, gibt wasm_loader_get_const_offset spätere Konstanten inline aus; die zwischen den Durchläufen stattfindende Sortierung und Deduplizierung reduziert jedoch die Tabelle, sodass der zweite Durchlauf Tabellennreferenzen auswählen kann. Dies führt dazu, dass reserve_block_ret zusätzliche Kopieroperanden ausgibt, die nicht in code_compiled_peak_size enthalten waren. Ein speziell angefertigtes Modul kann daher den zweiten Durchlauf veranlassen, teilweise vom Angreifer kontrollierte kompilierte Code-Daten außerhalb des Heap-Puffers zu schreiben, der während wasm_runtime_load basierend auf der Größenberechnung des ersten Durchlaufs alloziert wurde, bevor Gastcode ausgeführt wird. Dies kann die Host-Heap-Metadaten beschädigen und den Prozess deterministisch abstürzen lassen, was einen Denial-of-Service (DoS) verursacht; weitere Folgen hängen vom Heap-Layout der Host-Anwendung ab. Builds mit WAMR_BUILD_FAST_INTERP=1 sind betroffen; das Deaktivieren des Schnellinterpreters vermeidet den anfälligen Lader. Dieses Problem wurde in Version 2.4.5 behoben.
If you want to get best quality of vulnerability data, you may have to visit VulDB.