{"id":"CVE-2026-54914","kind":"vulnerability","aliases":["CVE-2026-54914"],"related":[],"title":"WAMR: crafted WebAssembly module overflows host heap during poll","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.","summary":"WebAssembly Micro Runtime (WAMR) before 2.4.5 has a bounds-check flaw in its WASI poll_oneoff handling. A crafted guest module can write event data past the validated Wasm memory into adjacent host heap, reliably crashing the host process and possibly exposing or corrupting data.","severity":"high","cvss":8.3,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["embedded-runtime","runtime","wamr","wasi","webassembly"],"not_affected_if":["trusted-modules-only","wasi-poll-unused"],"how_to_check":"- Check the WAMR version your application links against, for example `iwasm --version` or the WAMR version in your build configuration; versions below `2.4.5` are affected.\n- Check whether your application uses the libc-wasi library (WASI support) and runs untrusted or third-party Wasm modules.","fix":"- WAMR: move to `2.4.5` or later.","status":"open","published_at":"2026-11-05T18:17:08+00:00","first_seen_at":"2026-11-05T18:40:10+00:00","triaged_at":"2026-11-05T18:40:24+00:00","updated_at":"2026-11-05T18:40:24+00:00","category":"runtime","confidence":0.7,"triage":{"at":"2026-11-05T18:40:24Z","model":"claude-haiku-5-5","output":{"fix":"- WAMR: move to `2.4.5` or later.","reach":"unknown","title":"WAMR: crafted WebAssembly module overflows host heap during poll","impact":"high","summary":"WebAssembly Micro Runtime (WAMR) before 2.4.5 has a bounds-check flaw in its WASI poll_oneoff handling. A crafted guest module can write event data past the validated Wasm memory into adjacent host heap, reliably crashing the host process and possibly exposing or corrupting data.","audience":"developers","category":"runtime","nicknames":[],"who_cares":["wamr","webassembly","wasi","embedded-runtime"],"confidence":0.7,"fix_status":"available","needs_auth":"no","worst_case":"host process crashes; heap data possibly read or overwritten","analyst_note":"","how_to_check":"- Check the WAMR version your application links against, for example `iwasm --version` or the WAMR version in your build configuration; versions below `2.4.5` are affected.\n- Check whether your application uses the libc-wasi library (WASI support) and runs untrusted or third-party Wasm modules.","plain_action":"","needs_analyst":false,"not_affected_if":["trusted-modules-only","wasi-poll-unused"],"who_is_affected":"Applications that embed WAMR and run WebAssembly modules supplied by someone else, such as plugins, user uploads or multi-tenant workloads, with WASI poll support enabled. Teams running only trusted, self-written Wasm modules face much lower risk, but should still upgrade to 2.4.5.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.000742,"input_tokens":4522,"output_tokens":580,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-2026':11A,14A '-54914':12A,15A '2.4.5':28B,82C,191C 'adjac':55B,155C 'attack':164C 'attacker-control':163C 'bound':32B 'boundari':153C 'bounds-check':31B 'caus':139C 'check':33B 'confidenti':177C 'consequ':180C 'contain':161C 'control':114C,165C 'core/iwasm/libraries/libc-wasi/libc_wasi_wrapper.c':87C 'core/iwasm/libraries/libc-wasi/sandboxed-system-primitives/src/posix.c':104C 'corrupt':67B 'craft':2A,42B,118C 'crash':59B,171C 'cross':146C 'cve':10A,13A 'data':48B,68B,167C 'depend':181C 'embed':17B 'embedded-runtim':16B 'enough':134C 'event':47B,96C,109C,127C,138C,166C 'expos':65B 'fix':188C 'flaw':34B 'guest':43B,113C,119C 'guest-control':112C 'handl':40B 'heap':7A,57B,157C,183C 'host':6A,56B,61B,156C,173C 'integr':179C 'issu':186C 'larg':133C 'later':141C 'layout':184C 'lightweight':75C 'linear':151C 'linear-memori':150C 'mani':108C 'memori':53B,152C,158C 'micro':24B,70C 'modul':4A,44B,120C 'multipl':123C 'nevent':143C 'nsubscript':115C 'one':94C,137C 'oneoff':39B,85C,102C 'output':90C,131C 'overflow':5A 'overwrit':160C 'part':162C 'past':49B 'pointer':91C 'poll':9A,38B,84C,101C 'posit':129C 'possibl':64B 'prior':80C 'process':62B,174C 'produc':126C 'provid':122C 'region':132C 'reliabl':58B,170C 'runtim':18B,19B,25B,71C,79C 'ssp':100C 'standalon':76C 'subscript':124C 'valid':51B,88C,148C 'valu':116C 'version':190C 'wamr':1A,20B,26B,72C 'wasi':21B,37B,83C,95C 'wasm':52B,78C,149C 'wasmtim':99C 'webassembl':3A,22B,23B,69C,77C 'write':46B,106C,144C","nicknames":[],"mitigations":[],"who_affected":"Applications that embed WAMR and run WebAssembly modules supplied by someone else, such as plugins, user uploads or multi-tenant workloads, with WASI poll support enabled. Teams running only trusted, self-written Wasm modules face much lower risk, but should still upgrade to 2.4.5.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"pkeys":[],"ptokens":[],"labels":["embeddedruntime","high","runtime","wamr","wasi","webassembly"],"campaign_type":null,"first_public_at":"2026-07-16T13:47:23+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-54914","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-54914","severity":null,"published_at":"2026-11-05T18:17:08+00:00","modified_at":"2026-11-05T18:17:08+00:00","first_seen_at":"2026-11-05T18:40:10+00:00","fetched_at":"2026-11-05T18:40:10+00:00","note":null}],"documents":[{"id":78698,"url":"https://github.com/wasm-micro-runtime/wasm-micro-runtime/commit/1f98fb01d09b2ef5e49dc0be2e6006f962fd87f1","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":78699,"url":"https://github.com/wasm-micro-runtime/wasm-micro-runtime/commit/b49d10eac4176817305d60ea59d24bc69a53eb7b","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":78692,"url":"https://github.com/wasm-micro-runtime/wasm-micro-runtime/releases/tag/WAMR-2.4.5","title":"Release notes: github.com","kind":"release","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Release notes: github.com"},{"id":78701,"url":"https://github.com/wasm-micro-runtime/wasm-micro-runtime/security/advisories/GHSA-wj3p-xhqm-pffc","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-07-16T13:47:23+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"}],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}