Repository navigation
chore(deps): update dependency undici to v6.29.1 [security] - #2169
renovate[bot] wants to merge 1 commit into
Conversation
|
Important Review skippedAuto reviews are limited based on label configuration. 🏷️ Required labels (at least one): 1
Please check the settings in the CodeRabbit UI or the
|
Review statusThis PR was opened by an automated account. A human maintainer must verify the change intent, provenance, and validation before merging. Current step: Awaiting fresh human maintainer or CODEOWNER approval. Review-state labels are managed by this workflow; do not edit them manually. |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This PR contains the following updates:
6.28.1→6.29.1undici vulnerable to Denial of Service via unhandled error on excessive content-encodings
CVE-2026-109869 / GHSA-xjj6-f33q-929c
More information
Details
Impact
undici's
fetch()crashes the Node.js process when a malicious server returns a response with more than five content codings and closes the connection before sending the body. undici rejects such responses (a content-encoding limit), but it created the internal response stream before that check and returned without attaching an error listener or aborting the request. The early close then surfaces a content-length mismatch on that orphaned internal stream, which Node.js treats as an unhandlederrorand terminates the process. A remote, unauthenticated server can trigger this with a single response, even when the application correctly catches thefetch()rejection. undici 6.x, 7.x, and 8.x are affected.Patches
Upgrade to
6.29.1,7.30.1, or8.12.2. undici now validates the content-encoding chain before creating the internal body stream and aborts the response when the limit is exceeded, so no error can surface on an orphaned stream.Workarounds
None.
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
nodejs/undici (undici)
v6.29.1Compare Source
Security fixes
High severity
Denial of service via TLS 1.2 certificate-changing renegotiation
CVE-2026-87018 · GHSA-qrxm-fqhp-jwvm
A malicious or compromised HTTPS server could crash the Node.js process by initiating TLS 1.2 renegotiation and presenting a different, CA-trusted certificate whose hostname did not match the requested host. The resulting socket error reached an assertion in undici's HTTP/1.1 and HTTP/2 connection handling. This release handles post-connect certificate errors without terminating the process.
TLS certificate validation bypass through dropped
AgentoptionsCVE-2026-109383 · GHSA-2m5v-pch6-74hx
Agentused a JSON-based clone for constructor options, which silently removed function-valued TLS options such ascheckServerIdentity. Applications relying on custom certificate or public-key verification could therefore accept a certificate that the callback was intended to reject. This release preserves TLS options when creating per-origin dispatchers.Denial of service through excessive
Content-EncodingvaluesCVE-2026-109869 · GHSA-xjj6-f33q-929c
A malicious HTTP server could crash the Node.js process by returning more than five content codings and closing the connection before sending the body. Although
fetch()rejected the response, an error from an orphaned internal stream could remain unhandled. This release validates the content-encoding chain before creating the body stream and aborts oversized chains safely.Medium severity
Denial of service through unbounded EventSource parser state
CVE-2026-109924 · GHSA-4qv8-2p9j-2685
A malicious Server-Sent Events endpoint could exhaust process memory by sending many tiny
data:fields without completing an event, or by splitting an unfinished line across many chunks. This release bounds retained EventSource parser state, including field counts, buffered chunks, unfinished-line length, and retained field data.Denial of service through unbounded automatic WebSocket PONG buffering
CVE-2026-109932 · GHSA-9fm3-97px-rjf6
A malicious WebSocket server could exhaust process memory by flooding the client with PING frames while not reading the automatic PONG responses. undici previously ignored socket backpressure and allowed the outbound queue to grow without bound. This release pauses frame parsing when PONG writes encounter backpressure and resumes after the socket drains.
What's Changed
Full Changelog: nodejs/undici@v6.29.0...v6.29.1
v6.29.0Compare Source
What's Changed
Full Changelog: nodejs/undici@v6.28.1...v6.29.0
Configuration
📅 Schedule: (in timezone America/Los_Angeles)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.