{"id":"GHSA-9pvw-hwfg-92h5","revision":"789c204180cf4fb5a5f148ae55b593a9","records":[{"revision":"789c204180cf4fb5a5f148ae55b593a9","observedAt":"2026-10-24T13:19:54.901+00:00","statement":{"source":"osv","id":"GHSA-9pvw-hwfg-92h5","aliases":["CVE-2026-115892","RUSTSEC-2026-0378"],"title":"Wasmtime: Panic lowering a host-created component model stream into a guest that expects a different payload type","description":"### 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.","state":0,"publishedAt":"2026-10-23T22:04:45+00:00","modifiedAt":"2026-10-23T22:25:32.5267136+00:00","affected":[{"ecosystem":"crates.io","name":"wasmtime","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"46.0.0"},{"kind":"fixed","version":"48.0.7"}]}],"versions":[],"rawVersionEvidence":null},{"ecosystem":"crates.io","name":"wasmtime","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"49.0.0"},{"kind":"fixed","version":"49.0.4"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[{"system":"CVSS_V4","vector":"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","score":null,"severity":null},{"system":"Publisher rating","vector":null,"score":null,"severity":"MODERATE"}],"references":["https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-9pvw-hwfg-92h5","https://github.com/bytecodealliance/wasmtime/pull/14819","https://github.com/bytecodealliance/wasmtime/pull/14820","https://github.com/bytecodealliance/wasmtime/pull/14827","https://github.com/bytecodealliance/wasmtime/commit/222ff3a65dab9aa7011f8c246937751a0bac5abd","https://github.com/bytecodealliance/wasmtime/commit/48dacc76241f06088e79f3ce1b17642f2f7bf158","https://github.com/bytecodealliance/wasmtime/commit/994549891c8a706cb4f2809f9d17b9f67b31e618","https://github.com/bytecodealliance/wasmtime","https://github.com/bytecodealliance/wasmtime/releases/tag/v48.0.7","https://github.com/bytecodealliance/wasmtime/releases/tag/v49.0.4","https://rustsec.org/advisories/RUSTSEC-2026-0378.html"],"sourceUrl":"https://github.com/advisories/GHSA-9pvw-hwfg-92h5","license":"GitHub Advisory Database · CC-BY-4.0","key":"osv:GHSA-9pvw-hwfg-92h5","identifiers":["GHSA-9pvw-hwfg-92h5","CVE-2026-115892","RUSTSEC-2026-0378"]},"retained":false,"historicalAffected":[]}],"coverage":[]}