CVE-2026-71554
h2: Duplicate Host header could facilitate request smuggling
h2 is a pure-Python implementation of a HTTP/2 protocol stack. Versions up to and including 4.4.0 accept request header blocks containing more than one Host header, and forward 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, providing a request smuggling primitive. This issue is fixed in version 4.4.1.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
5.3
h2: Duplicate Host header could facilitate request smuggling
h2 is a pure-Python implementation of a HTTP/2 protocol stack. Versions up to and including 4.4.0 accept request header blocks containing more than one Host header, and forward 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, providing a request smuggling primitive. This issue is fixed in version 4.4.1.
- Record
CVE-2026-71554- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-444
- Updated
- 2026-11-02
EUVDEUVD-2026-54177
5.3
h2 is a pure-Python implementation of a HTTP/2 protocol stack. Versions up to and including 4.4.0 accept request header blocks containing more than one Host header, and forward 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, providing a request smuggling primitive. This issue is fixed in version 4.4.1.
- Record
EUVD-2026-54177- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-6hr6-w5qg-qmwg
5.3
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.
- Record
GHSA-6hr6-w5qg-qmwg- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-444
- Updated
- 2026-11-02
NVD
5.3
h2 is a pure-Python implementation of a HTTP/2 protocol stack. Versions up to and including 4.4.0 accept request header blocks containing more than one Host header, and forward 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, providing a request smuggling primitive. This issue is fixed in version 4.4.1.
- Record
CVE-2026-71554- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-444
- Updated
- 2026-11-02
OSVBELL-CVE-2026-71554
5.3
- Record
BELL-CVE-2026-71554- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-02
OSV
5.3
h2: Duplicate Host header could facilitate request smuggling
h2 is a pure-Python implementation of a HTTP/2 protocol stack. Versions up to and including 4.4.0 accept request header blocks containing more than one Host header, and forward 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, providing a request smuggling primitive. This issue is fixed in version 4.4.1.
- Record
CVE-2026-71554- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-444
- Updated
- 2026-11-02
Show 10 moreShow less
OSVDEBIAN-CVE-2026-71554
5.3
h2 is a pure-Python implementation of a HTTP/2 protocol stack. Versions up to and including 4.4.0 accept request header blocks containing more than one Host header, and forward 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, providing a request smuggling primitive. This issue is fixed in version 4.4.1.
- Record
DEBIAN-CVE-2026-71554- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-02
OSVGHSA-6hr6-w5qg-qmwg
5.3
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.
- Record
GHSA-6hr6-w5qg-qmwg- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-444
- Updated
- 2026-11-02
OSVPYSEC-2026-3628
5.3
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.
- Record
PYSEC-2026-3628- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-71554
5.3
h2 is a pure-Python implementation of a HTTP/2 protocol stack. Versions up to and including 4.4.0 accept request header blocks containing more than one Host header, and forward 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, providing a request smuggling primitive. This issue is fixed in version 4.4.1.
- Record
UBUNTU-CVE-2026-71554- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-02
OSVMGASA-2026-0409 No score
Updated python-h2 packages fix a security vulnerability
Duplicate Host header facilitate request smuggling. (CVE-2026-71554)
- Record
MGASA-2026-0409- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:11523-1 No score
python313-h2-4.4.1-1.1 on GA media
These are all security issues fixed in the python313-h2-4.4.1-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11523-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21693-1 No score
Security update for python-h2
This update for python-h2 fixes the following issue:
- CVE-2026-71554: duplicate
Hostheaders are accepted and forwarded to consuming applications, which can lead to request smuggling (bsc#1274386).
- Record
openSUSE-SU-2026:21693-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:23563-1 No score
Security update for python-h2
This update for python-h2 fixes the following issue:
- CVE-2026-71554: duplicate
Hostheaders are accepted and forwarded to consuming applications, which can lead to request smuggling (bsc#1274386).
- Record
SUSE-SU-2026:23563-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:3970-1 No score
Security update for python-h2
This update for python-h2 fixes the following issue:
- CVE-2026-71554: duplicate
Hostheaders are accepted and forwarded to consuming applications, which can lead to request smuggling (bsc#1274386).
- Record
SUSE-SU-2026:3970-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:3972-1 No score
Security update for python-h2
This update for python-h2 fixes the following issue:
- CVE-2026-71554: duplicate
Hostheaders are accepted and forwarded to consuming applications, which can lead to request smuggling (bsc#1274386).
- Record
SUSE-SU-2026:3972-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
h2PyPI |
through 4.4.0 | 4.4.1 |
py3-h2Alpaquita:23 |
4.1.0-r1 up to 4.1.0-r2 | 4.1.0-r2 |
py3-h2Alpaquita:25 |
4.1.0-r3 up to 4.1.0-r4 | 4.1.0-r4 |
py3-h2Alpaquita:stream |
4.1.0-r0 up to 4.1.0-r6 | 4.1.0-r6 |
python-h2Debian:12 |
All versions, plus listed versions 4.1.0-44.2.0-14.3.0-14.3.0-2 |
None known |
python-h2Debian:13 |
All versions, plus listed versions 4.2.0-14.3.0-14.3.0-2 |
None known |
python-h2Debian:14 |
All versions, plus listed versions 4.2.0-14.3.0-14.3.0-2 |
None known |
h2PyPI |
before 4.4.1, plus listed versions 0.1.01.0.01.1.01.1.12.0.0 Show 42 moreShow less2.1.02.1.12.1.22.1.32.1.42.1.52.2.02.2.12.2.22.2.32.2.42.2.52.2.62.2.72.3.02.3.12.3.22.3.32.3.42.4.02.4.12.4.22.4.32.4.42.5.02.5.12.5.22.5.32.5.42.6.02.6.12.6.23.0.03.0.13.1.03.1.13.2.04.0.04.1.04.2.04.3.04.4.0 |
4.4.1 |
python-h2Mageia:10 |
before 4.3.0-1.1.mga10 | 4.3.0-1.1.mga10 |
python-h2Mageia:9 |
before 4.1.0-2.1.mga9 | 4.1.0-2.1.mga9 |
Show 12 moreShow less
| Package | Affected | Fixed |
|---|---|---|
python-h2SUSE:Linux Enterprise Server 16.0 |
before 4.2.0-160000.4.1 | 4.2.0-160000.4.1 |
python-h2SUSE:Linux Enterprise Server for SAP applications 16.0 |
before 4.2.0-160000.4.1 | 4.2.0-160000.4.1 |
python-h2SUSE:Linux Enterprise Module for Python 3 15 SP7 |
before 4.1.0-150400.8.9.1 | 4.1.0-150400.8.9.1 |
python-h2SUSE:Linux Enterprise Module for Server Applications 15 SP7 |
before 3.2.0-150200.3.8.1 | 3.2.0-150200.3.8.1 |
python-h2Ubuntu:18.04:LTS |
All versions, plus listed versions 3.0.1-13.0.1-23.0.1-3 |
None known |
python-h2Ubuntu:20.04:LTS |
All versions, plus listed versions 3.0.1-43.0.1-4.1ubuntu13.0.1-53.1.1-1 |
None known |
python-h2Ubuntu:22.04:LTS |
All versions, plus listed versions 4.0.0-34.1.0-3ubuntu1 |
None known |
python-h2Ubuntu:24.04:LTS |
All versions, plus listed versions 4.1.0-4 |
None known |
python-h2Ubuntu:26.10 |
All versions, plus listed versions 4.3.0-14.3.0-2 |
None known |
python-h2Ubuntu:26.04:LTS |
All versions, plus listed versions 4.2.0-14.3.0-1 |
None known |
python-h2openSUSE:Tumbleweed |
before 4.4.1-1.1 | 4.4.1-1.1 |
python-h2openSUSE:Leap 16.0 |
before 4.2.0-160000.4.1 | 4.2.0-160000.4.1 |
Public exploits
Links only. Every CVE stores no exploit code.
| Source | Link | Date |
|---|---|---|
| PoC in GitHub | SunandM/poc-h2-CVE-2026-71554 | 2026-08-07 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV, PoC in GitHub |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-71554 is a medium vulnerability (CVSS 5.3) in Python-hyper H2, published August 6, 2026. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 0.42%, the 36th percentile. Fixed in h2 4.4.1.
References
github.com/python-hyper/h2/security/advisories/GHSA-6hr6-w5qg-qmwg
github.com/python-hyper/h2/commit/292a40829feefda98c8509dcdbbb4a57af9bd6a6
github.com/advisories/GHSA-6hr6-w5qg-qmwg
docs.bell-sw.com/security/cves/CVE-2026-71554
github.com/CVEProject/cvelistV5/tree/main/cves/2026/71xxx/CVE-2026-71554.json
nvd.nist.gov/vuln/detail/CVE-2026-71554
Show 13 moreShow less
security-tracker.debian.org/tracker/CVE-2026-71554
github.com/python-hyper/h2
advisories.mageia.org/MGASA-2026-0409.html
bugs.mageia.org/show_bug.cgi?id=36188
lists.opensuse.org/archives/list/[email protected]/message/IDTJHCXCD2JELR2ZHWETBBYC3OYTW7QH
pypi.org/project/h2
suse.com/support/update/announcement/2026/suse-su-202623563-1
bugzilla.suse.com/1274386
suse.com/security/cve/CVE-2026-71554
suse.com/support/update/announcement/2026/suse-su-20263970-1
suse.com/support/update/announcement/2026/suse-su-20263972-1
ubuntu.com/security/CVE-2026-71554
cve.org/CVERecord?id=CVE-2026-71554