4 known bugs in h2, with affected versions, fixes and workarounds. Sourced from upstream issue trackers.
| Severity | Affected | Fixed in | Title | Status | Source |
|---|---|---|---|---|---|
| medium |
| any |
| 4.4.1 |
h2: Duplicate Host header could facilitate request smuggling ### Impact
h2 <=4.4.0 accepts request header blocks containing more than one Host header, and forwards every Host header to the consuming application. Where the consumer downgrades HTTP/2 to HTTP/1.1, the resulting request carries two Host header lines, which is a request smuggling primitive (CWE-444).
### Patches
Patched and fixed in v4.4.1
### Workarounds
Users of the h2 library are advised to check and follow HTTP semantics best practices in their application code. h2 provides best effort sanity checks, but ultimately the calling code is responsible to ensure proper and safe usage of HTTP/2 as provided by h2, hyperframe, and hpack.
### References
Similar to the previously disclosed and fixed duplicate content-length issue. |
| fixed |
| osv:PYSEC-2026-3628 |
| medium | any | 4.4.1 | h2: Duplicate Host header could facilitate request smuggling ### Impact
h2 <=4.4.0 accepts request header blocks containing more than one Host header, and forwards every Host header to the consuming application. Where the consumer downgrades HTTP/2 to HTTP/1.1, the resulting request carries two Host header lines, which is a request smuggling primitive (CWE-444).
### Patches
Patched and fixed in v4.4.1
### Workarounds
Users of the h2 library are advised to check and follow HTTP semantics best practices in their application code. h2 provides best effort sanity checks, but ultimately the calling code is responsible to ensure proper and safe usage of HTTP/2 as provided by h2, hyperframe, and hpack.
### References
Similar to the previously disclosed and fixed duplicate content-length issue. | fixed | osv:GHSA-6hr6-w5qg-qmwg |
| medium | any | 4.3.0 | h2 allows HTTP Request Smuggling due to illegal characters in headers ### Summary
HTTP/2 request splitting vulnerability allows attackers to perform request smuggling attacks by injecting CRLF characters into headers. This occurs when servers downgrade HTTP/2 requests to HTTP/1.1 without properly validating header names/values, enabling attackers to manipulate request boundaries and bypass security controls. | fixed | osv:PYSEC-2026-1435 |
| medium | any | 4.3.0 | h2 allows HTTP Request Smuggling due to illegal characters in headers ### Summary
HTTP/2 request splitting vulnerability allows attackers to perform request smuggling attacks by injecting CRLF characters into headers. This occurs when servers downgrade HTTP/2 requests to HTTP/1.1 without properly validating header names/values, enabling attackers to manipulate request boundaries and bypass security controls. | fixed | osv:GHSA-847f-9342-265h |
Get this data programmatically \u2014 free, no authentication.
curl https://depscope.dev/api/bugs/pypi/h2