WebAssembly Micro Runtime: Heap Buffer Overflow in WAMR WASI poll_oneoff Output Buffer
WebAssembly Micro Runtime versions before 2.4.5 are exposed when WASI poll_oneoff is enabled, which is the default build configuration. Fixed in 2.4.5.
Written by anthropic/claude-haiku-5.5 from the sources below. Verify against them.
- Exploited
- No known exploitation
- Fix
- Fixed in 2.4.5
- Who is exposed
- Default setups
Do first: Check every install: default setups are affected.
- Last modified
- A 0-100 score for how much a CVE matters across the industry: exploitation, exposure, how widely the software is used, severity and whether a fix exists.What do these mean? →
- 30/100 · provisional
- How many real-world setups can hit the bug, from the vendor's advisory and CISA data. It does not know your setup.What do these mean? →
- Default setups
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
WebAssembly Micro Runtime (WAMR), a lightweight standalone WebAssembly runtime, has a heap buffer overflow in its WASI poll_oneoff output handling. A crafted WebAssembly module can be reached remotely, without logging in, and can crash the host process by writing past its validated memory into adjacent host heap memory, with possible further confidentiality or integrity impact depending on heap layout.
Read the original description
WebAssembly Micro Runtime (WAMR) is a lightweight standalone WebAssembly (Wasm) runtime. Prior to 2.4.5, wasi_poll_oneoff in core/iwasm/libraries/libc-wasi/libc_wasi_wrapper.c validates the output pointer for only one wasi_event_t, while wasmtime_ssp_poll_oneoff in core/iwasm/libraries/libc-wasi/sandboxed-system-primitives/src/posix.c can write as many events as the guest-controlled nsubscriptions value. A crafted guest module can provide multiple subscriptions that produce events while positioning an output region large enough for only one event, causing a later out[nevents] write to cross the validated Wasm linear-memory boundary into adjacent host heap memory. The overwrite contains partly attacker-controlled event data and can reliably crash the host process, with further confidentiality or integrity consequences depending on heap layout. This issue is fixed in version 2.4.5.
cve.now Index
- Exploitation?/40Unknown. No CISA SSVC exploitation rating yet
- Exposure22/25Default setups, reachable over the network without a login
- Reach?/20Unknown. No tracked technology or package matched
- Severity8.3/10CVSS 8.3
- No patch0/5No signal
What would change the score
- Would score about 70 if added to CISA KEV
- Would score about 65 if CISA's SSVC rates exploitation active
What to do
Check every install: default setups are affected.
Upgrade to a fixed version: 2.4.5.
Timeline
- CVE published
- First seen by cve.now
Affected versions
- bytecodealliance wasm-micro-runtime
fixed in 2.4.5
Evidence 4
- Advisory
- Repository
- Repository
- Repository
Corrections
None so far.
Something wrong on this page? Report an error. Every fix is listed here.
Questions about CVE-2026-54914
Is CVE-2026-54914 being exploited?
It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.Source: cve.now feed data
What does this mean?
The bug is a heap buffer overflow in WAMR's WASI poll_oneoff output buffer, a memory-safety flaw where writes can run past the end of a buffer allocated on the heap.Source: github.com
Which versions are affected by CVE-2026-54914?
wasm-micro-runtime: before 2.4.5.Source: cve.now feed data
Am I affected, and how do I check?
The advisory's affected range covers wasm-micro-runtime builds before 2.4.5 that have WASI poll_oneoff enabled, which is on in the default build configuration. To check a build, confirm its runtime version and whether poll_oneoff support was compiled in or disabled.Source: github.com
How do I fix CVE-2026-54914?
Upgrade wasm-micro-runtime to 2.4.5 or later.Source: github.com