fix: upgrade @actions/http-client to remove undici@5.29.0 (CVE-2026-22036)#880
Merged
Merged
Conversation
|
matt-evervault
approved these changes
May 25, 2026
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.
Linear issue: COM-177
Summary
Eliminates the remaining vulnerable
undici@5.29.0instance in the dependency graph by adding a targetedpnpmoverride that bumps@actions/http-clientfrom the2.xrange up to4.0.0. The4.0.0release already resolvesundici@6.23.0(the patched boundary), and since nothing in the workspace imports from@actions/http-clientdirectly, the change is transparent to consumers (actions/revert-deployonly imports@actions/coreand@actions/github).A previous override (
undici@>=6.0.0 <6.23.0→^6.24.0, commitdd7e7ac) handled all v6 vulnerable resolutions, but deliberately stopped short of forcing a cross-major upgrade for the v5 branch — which has no patched release for this CVE. This PR closes that remaining gap.CVE-2026-22036 — undici Unbounded Decompression Chain DoS
undici < 6.23.0undici >= 6.23.0(or>= 7.18.2)undici'sfetch()implementation follows RFC 9110's support for chainedContent-Encodingvalues (e.g.,Content-Encoding: gzip, br, gzip, br, ...). The decompression chain has no length cap, and the defaultmaxHeaderSizepermits a malicious HTTP server to respond with thousands of compression steps — leading to excessive CPU and memory allocation (DoS) for any Node.js process fetching from an attacker-controlled endpoint.Exposure assessment
The only consumer of
undici@5.29.0was@actions/http-client@2.2.3(via@actions/github@6.0.0), used inside theactions/revert-deployGitHub Actions script which talks only to the GitHub API (a trusted server). No production/shipped library code is affected. The remediation is a defence-in-depth cleanup that also makes the dependency tree audit-clean.Changes
package.json— added"@actions/http-client@>=2.0.0 <4.0.0": "4.0.0"topnpm.overrides(scoped to the vulnerable range; v4+ packages are untouched).pnpm-lock.yaml— regenerated;undici@5.29.0is gone, onlyundici@6.23.0andundici@6.25.0remain.Verification