{"id":"CVE-2026-119136","kind":"vulnerability","aliases":["CVE-2026-119136"],"related":[],"title":"Wasmtime: mixing sync and async WebAssembly calls can panic or misuse host data","description":"Wasmtime 42.0.0 before 48.0.6 and 49.0.0 before 49.0.3 contains insufficient checks in Store when mixing async-style and sync-style WebAssembly calls. Embedders re-entering WebAssembly via sync APIs from host functions called asynchronously can trigger runtime panics or unsound cross-thread movement of !Send host variables.","summary":"Wasmtime, a WebAssembly runtime, does not fully check calls that mix async-style and sync-style WebAssembly entry points when a host function re-enters WebAssembly. An attacker who can drive such an embedder can trigger runtime panics or move non-thread-safe host variables across threads.","severity":"medium","cvss":5.9,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["plugin-hosts","runtime","rust","wasmtime","webassembly"],"not_affected_if":["default-config","single-calling-style"],"how_to_check":"- Run `wasmtime --version` or check the `wasmtime` crate version in `Cargo.lock`\n- Look for embedders that call sync WebAssembly APIs from host functions invoked asynchronously\n- Check whether untrusted input reaches a Wasmtime Store through that path","fix":"- Wasmtime `42.0.0` before `48.0.6` and `49.0.0` before `49.0.3` are affected; move to `48.0.6` or `49.0.3` or later on the matching release line","status":"open","published_at":"2026-10-29T16:18:06+00:00","first_seen_at":"2026-10-29T16:25:58+00:00","triaged_at":"2026-10-29T16:31:40+00:00","updated_at":"2026-10-29T16:31:40+00:00","category":"runtime","confidence":0.7,"triage":{"at":"2026-10-29T16:31:40Z","model":"claude-haiku-5-5","output":{"fix":"- Wasmtime `42.0.0` before `48.0.6` and `49.0.0` before `49.0.3` are affected; move to `48.0.6` or `49.0.3` or later on the matching release line","reach":"unknown","title":"Wasmtime: mixing sync and async WebAssembly calls can panic or misuse host data","impact":"medium","summary":"Wasmtime, a WebAssembly runtime, does not fully check calls that mix async-style and sync-style WebAssembly entry points when a host function re-enters WebAssembly. An attacker who can drive such an embedder can trigger runtime panics or move non-thread-safe host variables across threads.","audience":"businesses","category":"runtime","nicknames":[],"who_cares":["wasmtime","webassembly","rust","plugin-hosts"],"confidence":0.7,"fix_status":"available","needs_auth":"unknown","worst_case":"runtime panic or unsafe cross-thread access to host variables","analyst_note":"","how_to_check":"- Run `wasmtime --version` or check the `wasmtime` crate version in `Cargo.lock`\n- Look for embedders that call sync WebAssembly APIs from host functions invoked asynchronously\n- Check whether untrusted input reaches a Wasmtime Store through that path","plain_action":"","needs_analyst":false,"not_affected_if":["default-config","single-calling-style"],"who_is_affected":"Only embedders of Wasmtime 42.x or 49.0.x-before-49.0.3 that re-enter WebAssembly through sync APIs from asynchronously called host functions are exposed. Applications that only run trusted modules or use a single calling style are less likely to be reached; the sources do not say how common this pattern is.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.000735,"input_tokens":4171,"output_tokens":635,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-119136':16A,19A '-2026':15A,18A '42.0.0':79C '48.0.6':81C '49.0.0':83C '49.0.3':85C 'across':76B 'api':109C 'async':5A,39B,94C 'async-styl':38B,93C 'asynchron':114C 'attack':57B 'call':7A,35B,101C,113C 'check':34B,88C 'contain':86C 'cross':122C 'cross-thread':121C 'cve':14A,17A 'data':13A 'drive':60B 'embedd':63B,102C 'enter':54B,105C 'entri':46B 'fulli':33B 'function':51B,112C 'host':12A,22B,50B,74B,111C,127C 'insuffici':87C 'misus':11A 'mix':2A,37B,92C 'move':69B 'movement':124C 'non':71B 'non-thread-saf':70B 'panic':9A,67B,118C 'plugin':21B 'plugin-host':20B 'point':47B 're':53B,104C 're-ent':52B,103C 'runtim':23B,30B,66B,117C 'rust':24B 'safe':73B 'send':126C 'store':90C 'style':40B,44B,95C,99C 'sync':3A,43B,98C,108C 'sync-styl':42B,97C 'thread':72B,77B,123C 'trigger':65B,116C 'unsound':120C 'variabl':75B,128C 'via':107C 'wasmtim':1A,25B,27B,78C 'webassembl':6A,26B,29B,45B,55B,100C,106C","nicknames":[],"mitigations":[],"who_affected":"Only embedders of Wasmtime 42.x or 49.0.x-before-49.0.3 that re-enter WebAssembly through sync APIs from asynchronously called host functions are exposed. Applications that only run trusted modules or use a single calling style are less likely to be reached; the sources do not say how common this pattern is.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"first_public_at":"2026-10-29T16:18:06+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:P/VC:N/VI:N/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":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-119136","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-119136","severity":null,"published_at":"2026-10-29T16:18:06+00:00","modified_at":"2026-10-29T16:18:07+00:00","first_seen_at":"2026-10-29T16:25:58+00:00","fetched_at":"2026-10-29T16:25:58+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}