chore(deps): update dependency h2 to v4.4.1 [security] - #1988
Open
renovate[bot] wants to merge 1 commit into
Open
chore(deps): update dependency h2 to v4.4.1 [security]#1988renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==4.3.0→==4.4.1h2: Duplicate Host header could facilitate request smuggling
CVE-2026-71554 / GHSA-6hr6-w5qg-qmwg
More information
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.
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:LReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
h2: Duplicate Host header could facilitate request smuggling
CVE-2026-71554 / GHSA-6hr6-w5qg-qmwg
More information
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.
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:LReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Release Notes
python-hyper/h2 (h2)
v4.4.1Compare Source
Bugfixes
v4.4.0Compare Source
API Changes (Backward Incompatible)
Stream.end_stream()now raisesNoSuchStreamErrororStreamClosedErrorexceptions, instead of a genericKeyError.content-lengthheaders with different values now raiseProtocolError.Previously, the first
content-lengthheader was accepted and later conflicting values were ignored. Thanks to Harshal Parekh for the report.content-lengthheaders according to RFC9110 grammar for numbers (1*DIGIT). Thanks to Arkadiusz Marta for the report.dataclass, which introduces new constructors with required arguments.Instantiating these events without arguments, as previously commonly used API pattern, will no longer work.
API Changes (Backward Compatible)
H2Connection.receive_datanow accepts any byte-like object thatimplements the buffer protocol, such as
bytes,bytearray, andmemoryview. Existingbytescallers are unaffected.Ordinary CONNECT now requires
:method=CONNECTand:authority, andforbids
:scheme/:path. Extended CONNECT (e.g., WebSocket) requires:scheme,:path,:authorityplus:protocol. (PR #1309)cookieand:method.Bugfixes
SETTINGS_ENABLE_PUSHvalues received from servers.Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.