---
id: "CVE-2026-126406"
page: "https://infrastack.ai/live/CVE-2026-126406"
kind: "vulnerability"
aliases: ["CVE-2026-126406"]
title: "Wasmtime: reused response headers let requests smuggle past access controls"
severity: "medium"
cvss: 6.3
epss: null
exploited: false
status: "open"
category: "runtime"
products: []
ecosystems: []
tags: ["runtime", "wasi", "wasmtime", "webassembly"]
not_affected_if: ["no-outgoing-requests", "no-wasi-http", "versions-patched"]
published_at: "2026-11-13T10:17:45+00:00"
first_seen_at: "2026-11-13T10:47:19+00:00"
updated_at: "2026-11-13T10:55:18+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-126406", "first_seen_at": "2026-11-13T10:47:19+00:00"}]
exploit_sources: []
---

# Wasmtime: reused response headers let requests smuggle past access controls

Link for people: https://infrastack.ai/live/CVE-2026-126406 (this .md is for agents)

Wasmtime's WASI HTTP p2 code can send outgoing requests with conflicting or mismatched content-length headers when a guest reuses a received response's headers. A non-compliant server can then treat the request as smuggled, which may bypass the embedder's destination access controls.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the Wasmtime version in use, for example with `wasmtime --version` or the wasmtime crate version in `Cargo.lock`.
- Look for use of `wasmtime-wasi-http` with the p2 HTTP implementation and guest code that sends outgoing requests.

## Fix

- Move to `36.0.20` on the 36 line, `48.0.8` on the 48 line, `49.0.5` on the 49 line, or `50.0.1` on the 50 line.

## Timeline

- 2026-11-13T10:47:19+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-126406

## Documents

- [advisory] Vendor advisory: github.com https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-h4wp-g4x3-7398
- [advisory] Third-party advisory: www.vulncheck.com https://www.vulncheck.com/advisories/wasmtime-before-36.0.20-http-request-smuggling-via-wasi-http-p2-content-length

## From the sources

The wasmtime-wasi-http p2 implementation in Wasmtime before 36.0.20, 37.0.0 before 48.0.8, 49.0.0 before 49.0.5, and 50.0.0 before 50.0.1 can send conflicting content-length headers, or ones not matching the body, in outgoing requests. A guest that reuses a received response's headers resource to send a bodyless request can enable request smuggling against non-compliant servers, potentially bypassing embedder destination access controls.

---

_Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai_
