{"id":"CVE-2026-115892","revision":null,"records":[{"revision":"1f7a75d80cd04457b327f78b0d322a20","observedAt":"2026-10-23T22:48:20.692+00:00","statement":{"source":"cve-program","id":"CVE-2026-115892","aliases":[],"title":"Wasmtime: Panic lowering a host-created component model stream into a guest that expects a different payload type","description":"Wasmtime is a runtime for WebAssembly. From 46.0.0 until 48.0.7 and 49.0.4, lowering a host-created component-model stream or future into a guest can omit a required payload-type check after the value passes through guest code and returns through StreamAny, FutureAny, Val::Stream, Val::Future, or an equivalent typed reader. A malicious guest that controls exported function types or returned values can cause the host to pass the type-erased value to a guest expecting a different payload type, which panics the Wasmtime host. This issue is fixed in versions 48.0.7 and 49.0.4.","state":0,"publishedAt":"2026-10-23T21:26:54.528+00:00","modifiedAt":"2026-10-23T21:26:54.528+00:00","affected":[{"ecosystem":"Vendor product","name":"wasmtime","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"bytecodealliance\",\n                    \"product\": \"wasmtime\",\n                    \"versions\": [\n                        {\n                            \"version\": \">= 46.0.0, < 48.0.7\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \">= 49.0.0, < 49.0.4\",\n                            \"status\": \"affected\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 4.0","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":5.7,"severity":"MEDIUM"}],"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/releases/tag/v48.0.7","https://github.com/bytecodealliance/wasmtime/releases/tag/v49.0.4"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-115892","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-115892","identifiers":["CVE-2026-115892"]},"retained":false,"historicalAffected":[]},{"revision":"6b517c2ee4764d83855effad317d1522","observedAt":"2026-10-25T05:17:25.909+00:00","statement":{"source":"nvd","id":"CVE-2026-115892","aliases":[],"title":"Wasmtime is a runtime for WebAssembly. From 46.0.0 until 48.0.7 and 49.0.4, lowering a host-created component-model stream or future into a guest can omit a required payload-type check after the value passes through guest code and returns t…","description":"Wasmtime is a runtime for WebAssembly. From 46.0.0 until 48.0.7 and 49.0.4, lowering a host-created component-model stream or future into a guest can omit a required payload-type check after the value passes through guest code and returns through StreamAny, FutureAny, Val::Stream, Val::Future, or an equivalent typed reader. A malicious guest that controls exported function types or returned values can cause the host to pass the type-erased value to a guest expecting a different payload type, which panics the Wasmtime host. This issue is fixed in versions 48.0.7 and 49.0.4.","state":0,"publishedAt":"2026-10-23T22:16:58.633+00:00","modifiedAt":"2026-10-23T22:16:58.777+00:00","affected":[],"metrics":[{"system":"CVSS 4.0 · security-advisories@github.com · Secondary","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/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","score":5.7,"severity":"MEDIUM"}],"references":["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/pull/14819","https://github.com/bytecodealliance/wasmtime/pull/14820","https://github.com/bytecodealliance/wasmtime/pull/14827","https://github.com/bytecodealliance/wasmtime/releases/tag/v48.0.7","https://github.com/bytecodealliance/wasmtime/releases/tag/v49.0.4","https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-9pvw-hwfg-92h5"],"sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-115892","license":"NIST NVD usage terms; underlying source attribution retained","enrichment":{"sourceStatus":"Deferred","weaknesses":["CWE-248","CWE-843"],"productCriteria":[],"sourceDates":{"published":"2026-10-23T22:16:58.633","lastModified":"2026-10-23T22:16:58.777"},"relatedAdvisories":[],"note":"NVD analysis and CPE criteria are source context, not proof that a package or your environment is affected. Complete affected data, logical configurations and SSVC are retained in the original JSON."},"key":"nvd:CVE-2026-115892","identifiers":["CVE-2026-115892"]},"retained":false,"historicalAffected":[]},{"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":[]},{"revision":"e7585409013e4a9e81dcdd476d297344","observedAt":"2026-10-24T13:19:54.901+00:00","statement":{"source":"osv","id":"RUSTSEC-2026-0378","aliases":["CVE-2026-115892","GHSA-9pvw-hwfg-92h5"],"title":"Panic lowering a host-created component model stream into a guest that expects a different payload type","description":"This is an entry in the RustSec database for the Wasmtime security advisory\nlocated at\nhttps://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-9pvw-hwfg-92h5\nFor more information see the GitHub-hosted security advisory.","state":0,"publishedAt":"2026-10-19T12:00:00+00:00","modifiedAt":"2026-10-24T06:25:41+00:00","affected":[{"ecosystem":"crates.io","name":"wasmtime","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"46.0.0"},{"kind":"fixed","version":"48.0.7"},{"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}],"references":["https://crates.io/crates/wasmtime","https://rustsec.org/advisories/RUSTSEC-2026-0378.html","https://github.com/bytecodealliance/wasmtime/pull/14827"],"sourceUrl":"https://osv.dev/vulnerability/RUSTSEC-2026-0378","license":"OSV · upstream source license applies","key":"osv:RUSTSEC-2026-0378","identifiers":["RUSTSEC-2026-0378","CVE-2026-115892","GHSA-9pvw-hwfg-92h5"]},"retained":false,"historicalAffected":[]}],"coverage":[{"source":"cisa-kev:global","scope":"Complete CISA KEV catalog; all vendors. Missing entries do not establish absence of exploitation.","generation":"2026-10-25T10:17:08.8398787+00:00","complete":true,"records":1756,"lastAttemptAt":"2026-10-25T10:17:08.8398787+00:00","lastSuccessAt":"2026-10-25T10:17:09.0071755+00:00","error":null,"lastVerifiedAt":"2026-10-25T10:17:09.0071758+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null},{"source":"cve-program","scope":"Official CVE Program baseline and cumulative hourly delta; all vendors, published and rejected records","generation":"cve-1a687ad2a0b90150aa7d97c9f39e63de695ae2db23e31ebc28df1492c461b23c-63b57e29f92e7a920c4b63984d0479fb75cc7537c83fde6a3a0caac435c03070","complete":true,"records":413946,"lastAttemptAt":"2026-10-25T10:17:08.4696794+00:00","lastSuccessAt":"2026-10-25T10:17:08.4548795+00:00","error":null,"lastVerifiedAt":"2026-10-25T10:17:08.4696794+00:00","snapshotPublishedAt":"2026-10-25T09:21:32+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null},{"source":"euvd","scope":"Rolling EUVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global EUVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-43321610382942b8ad8c85917eab1546","complete":false,"records":4735,"lastAttemptAt":"2026-10-25T10:17:36.2565936+00:00","lastSuccessAt":"2026-10-24T23:18:49.862+00:00","error":"InvalidDataException","lastVerifiedAt":"2026-10-24T23:18:49.862+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":4764,"expectedIdentifiers":13474},{"source":"first-epss:nuget","scope":"FIRST EPSS for explicit CVE aliases in the collected public NuGet archive. Not a global EPSS backfill.","generation":"2026-10-25T10:17:08.8398787+00:00","complete":true,"records":1093,"lastAttemptAt":"2026-10-25T10:17:08.8398787+00:00","lastSuccessAt":"2026-10-25T10:17:09.0078669+00:00","error":null,"lastVerifiedAt":"2026-10-25T10:17:09.0078669+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null},{"source":"nvd","scope":"Rolling NVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global NVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-9e00e3bbdb534a5abbe07c8908a70f7e","complete":false,"records":10949,"lastAttemptAt":"2026-10-25T10:17:34.3253561+00:00","lastSuccessAt":"2026-10-25T10:17:34.322+00:00","error":null,"lastVerifiedAt":"2026-10-25T10:17:34.322+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":11000,"expectedIdentifiers":13474},{"source":"osv:Go","scope":"Complete OSV Go ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"go-2375a4e597279abf92e8747e140fe8da9d421877cd49cae3ac69a2cb78469b2c","complete":true,"records":9779,"lastAttemptAt":"2026-10-25T10:17:08.7917154+00:00","lastSuccessAt":"2026-10-24T13:19:53.1346702+00:00","error":null,"lastVerifiedAt":"2026-10-25T10:17:08.7917154+00:00","snapshotPublishedAt":"2026-10-24T03:03:12+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null},{"source":"osv:NuGet","scope":"Complete OSV NuGet ecosystem archive, including GitHub Advisory Database records; NuGet version matching only","generation":"nuget-16ad89dfea13ab9e9b0108e63a759d63bd4559cc68b58491107d62ee35bbbaf2","complete":true,"records":1965,"lastAttemptAt":"2026-10-25T10:17:08.5165217+00:00","lastSuccessAt":"2026-10-23T16:01:26.4487605+00:00","error":null,"lastVerifiedAt":"2026-10-25T10:17:08.5165217+00:00","snapshotPublishedAt":"2026-10-21T12:18:07+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null},{"source":"osv:crates.io","scope":"Complete OSV crates.io ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"crates.io-7da67a15aa6e56a0e3081a7646dc74d537e6ef974afc593c2b1794ed01970648","complete":true,"records":2969,"lastAttemptAt":"2026-10-25T10:17:08.8069825+00:00","lastSuccessAt":"2026-10-24T13:19:59.1145547+00:00","error":null,"lastVerifiedAt":"2026-10-25T10:17:08.8069825+00:00","snapshotPublishedAt":"2026-10-24T08:47:51+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null},{"source":"osv:npm","scope":"Complete OSV npm ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"npm-2015a11f01750e001ec195a67b191b1eba9c233a9968bdf07bdb47e0b4c10233","complete":true,"records":230739,"lastAttemptAt":"2026-10-25T10:17:08.6829638+00:00","lastSuccessAt":"2026-10-25T07:19:00.31813+00:00","error":null,"lastVerifiedAt":"2026-10-25T10:17:08.6829638+00:00","snapshotPublishedAt":"2026-10-25T06:33:04+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null}]}