Medium severity · published Aug 25, 2025
CVE-2025-57804
h2 allows HTTP Request Smuggling due to illegal characters in headers
6.9
CVSS
1.8%
EPSS
No
On KEV
Description
h2 is a pure-Python implementation of a HTTP/2 protocol stack. Prior to version 4.3.0, an 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. This issue has been patched in version 4.3.0.
Exploitation
Is it being used?
Exploit prediction (EPSS)1.8% · higher than 78% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
H2
h2 · python-hyper
< 4.3.0 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2025-57804
CVE.org
https://www.cve.org/CVERecord?id=CVE-2025-57804
github.com
https://github.com/python-hyper/h2/commit/035e9899f95e3709af098f578bfc3cd302298e3a
github.com
https://github.com/python-hyper/h2/security/advisories/GHSA-847f-9342-265h
lists.debian.org
https://lists.debian.org/debian-lts-announce/2025/09/msg00004.html
More from h2
5.3
CVE-2026-71554
h2: Duplicate Host header could facilitate request smuggling
