{"schema_version":"1.9.0","id":"GHSA-9pvw-hwfg-92h5","published":"2026-10-23T22:04:45Z","modified":"2026-10-23T22:25:32.526713550Z","aliases":["CVE-2026-115892","RUSTSEC-2026-0378"],"summary":"Wasmtime: Panic lowering a host-created component model stream into a guest that expects a different payload type","details":"### 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.","affected":[{"package":{"name":"wasmtime","ecosystem":"crates.io","purl":"pkg:cargo/wasmtime"},"ranges":[{"type":"SEMVER","events":[{"introduced":"46.0.0"},{"fixed":"48.0.7"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-9pvw-hwfg-92h5/GHSA-9pvw-hwfg-92h5.json"}},{"package":{"name":"wasmtime","ecosystem":"crates.io","purl":"pkg:cargo/wasmtime"},"ranges":[{"type":"SEMVER","events":[{"introduced":"49.0.0"},{"fixed":"49.0.4"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-9pvw-hwfg-92h5/GHSA-9pvw-hwfg-92h5.json"}}],"references":[{"type":"WEB","url":"https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-9pvw-hwfg-92h5"},{"type":"WEB","url":"https://github.com/bytecodealliance/wasmtime/pull/14819"},{"type":"WEB","url":"https://github.com/bytecodealliance/wasmtime/pull/14820"},{"type":"WEB","url":"https://github.com/bytecodealliance/wasmtime/pull/14827"},{"type":"WEB","url":"https://github.com/bytecodealliance/wasmtime/commit/222ff3a65dab9aa7011f8c246937751a0bac5abd"},{"type":"WEB","url":"https://github.com/bytecodealliance/wasmtime/commit/48dacc76241f06088e79f3ce1b17642f2f7bf158"},{"type":"WEB","url":"https://github.com/bytecodealliance/wasmtime/commit/994549891c8a706cb4f2809f9d17b9f67b31e618"},{"type":"PACKAGE","url":"https://github.com/bytecodealliance/wasmtime"},{"type":"WEB","url":"https://github.com/bytecodealliance/wasmtime/releases/tag/v48.0.7"},{"type":"WEB","url":"https://github.com/bytecodealliance/wasmtime/releases/tag/v49.0.4"},{"type":"WEB","url":"https://rustsec.org/advisories/RUSTSEC-2026-0378.html"}],"database_specific":{"cwe_ids":["CWE-843"],"github_reviewed":true,"github_reviewed_at":"2026-10-23T22:04:45Z","nvd_published_at":null,"severity":"MODERATE"},"severity":[{"type":"CVSS_V4","score":"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"}]}