{"id":"CVE-2026-115892","aliases":["GHSA-9pvw-hwfg-92h5"],"title":"Wasmtime: Panic lowering a host-created component model stream into a guest that expects a different payload type","summary":"Wasmtime: Panic lowering a host-created component model stream into a guest that expects a different payload type","severity":"medium","cvss":5.7,"cwe":["CWE-843","CWE-248"],"vendor":"wasmtime","product":"wasmtime","ecosystem":"rust","affected":["wasmtime >= 46.0.0, < 48.0.7","wasmtime >= 49.0.0, < 49.0.4"],"patched":["wasmtime 48.0.7","wasmtime 49.0.4"],"published":"2026-10-23","updated":"2026-10-23","sourceUpdated":"2026-10-23T22:04:47Z","source":"GHSA","sourceUrl":"https://github.com/advisories/GHSA-9pvw-hwfg-92h5","references":[{"url":"https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-9pvw-hwfg-92h5"},{"url":"https://github.com/bytecodealliance/wasmtime/pull/14819"},{"url":"https://github.com/bytecodealliance/wasmtime/pull/14820"},{"url":"https://github.com/bytecodealliance/wasmtime/pull/14827"},{"url":"https://github.com/bytecodealliance/wasmtime/commit/222ff3a65dab9aa7011f8c246937751a0bac5abd"},{"url":"https://github.com/bytecodealliance/wasmtime/commit/48dacc76241f06088e79f3ce1b17642f2f7bf158"},{"url":"https://github.com/bytecodealliance/wasmtime/commit/994549891c8a706cb4f2809f9d17b9f67b31e618"},{"url":"https://github.com/bytecodealliance/wasmtime/releases/tag/v48.0.7"},{"url":"https://github.com/bytecodealliance/wasmtime/releases/tag/v49.0.4"},{"url":"https://rustsec.org/advisories/RUSTSEC-2026-0378.html"},{"url":"https://github.com/advisories/GHSA-9pvw-hwfg-92h5"}],"tags":["ghsa","rust","cve.org"],"cvssVector":"CVSS:4.0/AV:N/AC:H/AT:P/PR:H/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","cvssSource":"cna","ingestedAt":"2026-10-23T21:38:13.048Z","slug":"CVE-2026-115892","body":"## Overview\n\n### Summary\n\nWasmtime may panic when the host lowers a component model `stream` or `future` into a guest, if the host created that stream or future with one payload type and the guest expects a different one. This can happen when an embedder creates a stream or future, passes it through a guest, receives it back under a type-erased type such as `StreamAny` or `FutureAny`, and then passes it to a guest function with a different payload type.\n\nGHSA-63h4-6cx9-pjfj is a related advisory also fixing issues within this area, and this advisory is being issued for portions of Wasmtime that were not fixed as part of that advisory.\n\n### Impact\n\nThis affects embedders that do all of the following:\n\n1. Create streams or futures on the host with `StreamReader::new` or `FutureReader::new`\n2. Pass them to guest code and receive them back as `StreamAny`, `FutureAny`, `Val::Stream`/`Val::Future`, or a typed reader whose payload is one of these.\n3. Pass them on to a guest function whose `stream` or `future` payload type differs from the type the host created them with.\n\nA guest can cause the mismatch in step 3 when it controls the types of the functions it exports or of the values it returns. In that case a malicious guest can make the host panic, a denial of service. Embedders that only use statically typed `StreamReader<T>`/`FutureReader<T>` with concrete payload types throughout, or that never pass streams or futures they created through a guest and back, are not affected.\n\n## Affected packages\n\n- `wasmtime >= 46.0.0, < 48.0.7`\n- `wasmtime >= 49.0.0, < 49.0.4`\n\n## Remediation\n\nUpgrade to a patched release:\n\n- `wasmtime 48.0.7`\n- `wasmtime 49.0.4`","depth":"sunlit","depthScore":31,"depthScoreParts":{"impact":31.4,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}