CVE-2026-71554: h2: Duplicate Host header could facilitate request smuggling

Published Aug 6, 2026
·
Updated

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.

Other sources

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.

MITRE

Affected Software

1 affected componentFixes available
pip/h2<=4.4.0
4.4.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade pip/h2 to a version that resolves this vulnerability.

    Fixed in 4.4.1
  2. Upgrade

    Upgrade h2 to a version that resolves this vulnerability.

    Fixed in 4.4.1
  3. Compensating control

    If your application uses h2 and may downgrade HTTP/2 to HTTP/1.1, ensure HTTP semantics best practices so that request header blocks do not contain more than one Host header (duplicate Host headers can provide a request smuggling primitive when downgraded to HTTP/1.1).

Event History

Aug 6, 2026
CVE Published
via MITRE·09:46 PM
Data Sourced
via MITRE·09:46 PM
DescriptionSeverityWeakness
Advisory Published
via GitHub·09:53 PM
Data Sourced
via GitHub·09:53 PM
DescriptionSeverityWeaknessAffected Software
Data Sourced
via NVD·10:18 PM
DescriptionSeverityWeakness
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-71554?

The severity of CVE-2026-71554 is rated as medium with a score of 5.3.

2

What impact does CVE-2026-71554 have on software?

CVE-2026-71554 affects h2 versions up to 4.4.0, allowing multiple Host headers which can lead to request smuggling.

3

How do I fix CVE-2026-71554?

To fix CVE-2026-71554, upgrade the h2 library to a version that is above 4.4.0.

4

Which software is affected by CVE-2026-71554?

CVE-2026-71554 affects the h2 library used by Python's pip.

5

What is a request smuggling primitive in the context of CVE-2026-71554?

In the context of CVE-2026-71554, a request smuggling primitive is created when the application forwards multiple Host headers, potentially allowing attackers to manipulate request handling.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203