{"id":"CVE-2026-54912","summary":"WAMR fast interpreter loader heap buffer overflow via constant deduplication mismatch","details":"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.","aliases":["GHSA-jjv3-x3jf-cg49"],"modified":"2026-11-05T21:32:25.373403993Z","published":"2026-11-05T17:29:18.708Z","database_specific":{"cwe_ids":["CWE-787"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54912.json","cna_assigner":"GitHub_M"},"references":[{"type":"WEB","url":"https://gist.github.com/shumbo/b710c35b005ed871447fce385d1ab760"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54912.json"},{"type":"FIX","url":"https://github.com/wasm-micro-runtime/wasm-micro-runtime/commit/b1353b5e8983047ff68829c99abf1355d5f389cf"},{"type":"WEB","url":"https://github.com/wasm-micro-runtime/wasm-micro-runtime/releases/tag/WAMR-2.4.5"},{"type":"ADVISORY","url":"https://github.com/wasm-micro-runtime/wasm-micro-runtime/security/advisories/GHSA-jjv3-x3jf-cg49"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-54912"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/wasm-micro-runtime/wasm-micro-runtime","events":[{"introduced":"0"},{"fixed":"25bd7eb63e828e4bd242cc9b38d260b4b31c6605"},{"fixed":"b1353b5e8983047ff68829c99abf1355d5f389cf"}],"database_specific":{"extracted_events":[{"range":[{"introduced":"0"},{"fixed":"2.4.5"}],"source":"AFFECTED_FIELD","strategy":"StringRangeExpression"},{"range":[{"fixed":"b1353b5e8983047ff68829c99abf1355d5f389cf"}],"source":"REFERENCES_COMMIT"},{"range":[{"fixed":"25bd7eb63e828e4bd242cc9b38d260b4b31c6605"}],"source":"REFERENCES_TAG","original_tag":"WAMR-2.4.5"}]}}],"versions":["WAMR-2.4.4","WAMR-2.4.3","WAMR-2.4.2","WAMR-2.4.1","WAMR-2.4.0","WAMR-2.3.1","WAMR-2.3.0","WAMR-2.2.0","WAMR-2.1.2","WAMR-2.1.1","WAMR-2.1.0","WAMR-2.0.0","WAMR-1.3.2","WAMR-1.3.1","WAMR-1.3.0","WAMR-1.2.3","WAMR-1.2.2","WAMR-1.2.1","WAMR-1.2.0","WAMR-1.1.2","WAMR-1.1.1","WAMR-1.1.0","WAMR-1.0.0","WAMR-05-18-2022","WAMR-01-18-2022","WAMR-12-30-2021","WAMR-08-10-2021","WAMR-04-15-2021","WAMR-03-25-2021","WAMR-01-29-2021","WAMR-09-29-2020","WAMR-09-08-2020","WAMR-07-10-2020","WAMR-06-15-2020","WAMR-04-15-2020","WAMR-03-30-2020","WAMR-03-19-2020","WAMR-03-05-2020","WAMR-02-27-2020","WAMR-02-18-2020","01-12-2020","tag-11-28-2019"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-54912.json"}}],"schema_version":"1.9.2","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:H/VA:H/SC:N/SI:N/SA:N"}]}