PYSEC-2026-3628

See a problem?
Import Source
https://github.com/pypa/advisory-database/blob/main/vulns/h2/PYSEC-2026-3628.yaml
JSON Data
https://api.osv.dev/v1/vulns/PYSEC-2026-3628
Aliases
Published
2026-08-10T10:43:51.432758Z
Modified
2026-08-10T11:30:11.413688625Z
Severity
  • 5.3 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L CVSS Calculator
Summary
h2: Duplicate Host header could facilitate request smuggling
Details

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.

References

Affected packages

PyPI / h2

Package

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
4.4.1

Affected versions

0.*
0.1.0
1.*
1.0.0
1.1.0
1.1.1
2.*
2.0.0
2.1.0
2.1.1
2.1.2
2.1.3
2.1.4
2.1.5
2.2.0
2.2.1
2.2.2
2.2.3
2.2.4
2.2.5
2.2.6
2.2.7
2.3.0
2.3.1
2.3.2
2.3.3
2.3.4
2.4.0
2.4.1
2.4.2
2.4.3
2.4.4
2.5.0
2.5.1
2.5.2
2.5.3
2.5.4
2.6.0
2.6.1
2.6.2
3.*
3.0.0
3.0.1
3.1.0
3.1.1
3.2.0
4.*
4.0.0
4.1.0
4.2.0
4.3.0
4.4.0

Database specific

source
"https://github.com/pypa/advisory-database/blob/main/vulns/h2/PYSEC-2026-3628.yaml"