Skip to content

chore(deps): update devdependency undici to v8 - #562

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/undici-8.x
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/undici-8.x

Conversation

@renovate

@renovate renovate Bot commented Apr 2, 2026 •

Copy link
Copy Markdown
Contributor

Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
undici (source) ^7.16.0 → ^8.12.3 age confidence

Release Notes

nodejs/undici (undici)

v8.12.3

Compare Source

What's Changed

New Contributors

Full Changelog: nodejs/undici@v8.12.2...v8.12.3

v8.12.2

Compare 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 Agent options

CVE-2026-109383 · GHSA-2m5v-pch6-74hx

Agent used a JSON-based clone for constructor options, which silently removed function-valued TLS options such as checkServerIdentity. 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.

Cache poisoning and cross-user disclosure through cross-origin redirects

CVE-2026-109829 · GHSA-4w7w-5xrc-9h26

When an originless Agent combined redirect and shared-cache interceptors as compose(redirect(), cache()), a response from a cross-origin redirect could be stored under the original URL. This could allow persistent cache poisoning or disclosure of user-specific responses to later callers. This release verifies the response origin before caching and preserves redirect-hop cache-control policy.

Denial of service through excessive Content-Encoding values

CVE-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 the decompress interceptor

CVE-2026-87029 · GHSA-55wc-3pg8-jfw6

An exception thrown by a downstream response handler from an asynchronous decompression callback could escape as an uncaught exception. A server could trigger this when decompress was composed with a handler such as dump with a size limit. This release converts downstream handler exceptions into per-request errors.

Subresource Integrity bypass with non-lowercase algorithm tokens

CVE-2026-109841 · GHSA-f72v-6w45-q472

fetch() treated valid mixed-case or uppercase SRI algorithm tokens, such as SHA256, as unknown and could accept a response whose body did not match the configured digest. This release normalizes algorithm tokens before validation and digest selection.

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.

Full Changelog: nodejs/undici@v8.12.1...v8.12.2

v8.12.1

Compare Source

What's Changed
New Contributors

Full Changelog: nodejs/undici@v8.12.0...v8.12.1

v8.12.0

Compare Source

What's Changed
New Contributors

Full Changelog: nodejs/undici@v8.11.2...v8.12.0

v8.11.2

Compare Source

What's Changed

New Contributors

Full Changelog: nodejs/undici@v8.11.1...v8.11.2

v8.11.1

Compare Source

What's Changed

Full Changelog: nodejs/undici@v8.11.0...v8.11.1

v8.11.0

Compare Source

What's Changed

New Contributors

Full Changelog: nodejs/undici@v8.10.2...v8.11.0

v8.10.2

Compare Source

⚠️ Security fixes

High severity
  • GHSA-vp8m-p9jh-q5pm: cache and deduplication interceptors could use caller-controlled request metadata instead of the authoritative dispatcher origin, enabling cross-origin cache poisoning and data disclosure. Undici now derives interceptor identities from the dispatcher origin and bypasses origin-dependent interceptors when no authoritative origin exists. Fixed by caf6194d.
  • GHSA-w293-vg96-wgc3: BalancedPool could drop function-valued connection options while cloning its configuration, including custom TLS certificate validation callbacks. Undici now preserves connect and legacy tls options when creating upstreams. Fixed by 8f5868fb.
  • GHSA-rfgv-xxqx-mfg5: a WebSocket server could select a subprotocol when none was requested, causing an uncaught TypeError that could terminate the process. Undici now rejects the handshake with protocol error 1002. Fixed by 66e12816.
Medium severity
  • GHSA-3wwx-pv8p-q78v: a malformed permessage-deflate payload exceeding the configured decompression limit could emit an unhandled zlib error and terminate the process. Undici now destroys the inflater after reaching the limit. Fixed by 4411a238.
  • GHSA-rx4f-c7p8-82vq: an unclean WebSocketStream close could create an unobserved rejected promise when its writable stream was locked, potentially terminating the process. Undici now propagates the failure through the retained writable stream controller. Fixed by 662d0ea6.
  • GHSA-2jfj-6hjv-fm6j: shared caches could store and replay responses containing Set-Cookie, disclosing one user's cookies to another caller. Undici now excludes these responses from shared caches, including existing entries and revalidation paths. Fixed by cb75bbb3.
  • GHSA-3xpg-4rpp-hhhm: the decompression interceptor did not bound decoded output, allowing compressed responses to consume excessive memory. Undici now limits every decompression stage to 64 MiB by default and supports a configurable maxSize. Fixed by 7aac7f12.
  • GHSA-pmjh-fq2x-6v4x: a terminal retry failure after response headers were exposed could orphan the original response body, causing consumers to hang indefinitely. Undici now propagates the terminal error to the exposed body. Fixed by e905b5b8.
Low severity
  • GHSA-8436-99hf-9mmv: cache interceptors could store and replay responses to unsafe HTTP methods such as POST or DELETE. Undici now restricts cache reads and writes to safe methods while preserving invalidation by successful unsafe requests. Fixed by 2be07bf9.
  • GHSA-2gqq-gqf2-x968: the dump interceptor could treat an oversized chunked response as successfully truncated when no Content-Length was present. Undici now enforces maxSize against received bytes and aborts oversized responses. Fixed by 6d583124.
  • GHSA-r53p-7pc4-xj5r: the retry interceptor could concatenate a resumed response with inconsistent framing into downstream output, enabling response splitting or corruption. Undici now validates Content-Range against the original response framing before resuming. Fixed by 0160a719.

What's Changed

New Contributors

Full Changelog: nodejs/undici@v8.10.1...v8.10.2

v8.10.1

Compare Source

What's Changed

New Contributors

Full Changelog: nodejs/undici@v8.10.0...v8.10.1

v8.10.0

Compare Source

What's Changed

[!IMPORTANT]
✂ PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot force-pushed the renovate/undici-8.x branch 2 times, most recently from 0dfd7fa to 5dd2b80 Compare April 4, 2026 10:07
@renovate
renovate Bot force-pushed the renovate/undici-8.x branch 2 times, most recently from 64005ac to edd4c1b Compare April 13, 2026 15:58
@renovate
renovate Bot force-pushed the renovate/undici-8.x branch from edd4c1b to 959f7bb Compare May 1, 2026 23:27
@renovate
renovate Bot force-pushed the renovate/undici-8.x branch from 959f7bb to 26670fd Compare May 14, 2026 19:28
@renovate
renovate Bot force-pushed the renovate/undici-8.x branch from 26670fd to cbf28f0 Compare May 22, 2026 17:29
@renovate
renovate Bot force-pushed the renovate/undici-8.x branch 3 times, most recently from bc3d084 to 58a763a Compare June 11, 2026 22:07
@renovate
renovate Bot force-pushed the renovate/undici-8.x branch from 58a763a to e0f9fae Compare June 18, 2026 17:41
@renovate
renovate Bot force-pushed the renovate/undici-8.x branch from e0f9fae to ae621b2 Compare June 28, 2026 09:16
@renovate
renovate Bot force-pushed the renovate/undici-8.x branch 3 times, most recently from cfd442d to 041cfdb Compare July 8, 2026 09:54
@renovate
renovate Bot force-pushed the renovate/undici-8.x branch 4 times, most recently from 089ee12 to e3c4458 Compare July 27, 2026 16:15
@renovate
renovate Bot force-pushed the renovate/undici-8.x branch from e3c4458 to 5612614 Compare August 6, 2026 16:08
@renovate
renovate Bot force-pushed the renovate/undici-8.x branch from 5612614 to a7e49fc Compare August 26, 2026 09:57
@renovate
renovate Bot force-pushed the renovate/undici-8.x branch 3 times, most recently from 04491bd to 9a84aee Compare September 7, 2026 20:03
@renovate
renovate Bot force-pushed the renovate/undici-8.x branch from 9a84aee to c6d72c5 Compare September 22, 2026 23:54
@coderabbitai

coderabbitai Bot commented Sep 22, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: c3cb9b25-0026-4512-8273-49b9a1a2ba6c

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@renovate
renovate Bot force-pushed the renovate/undici-8.x branch 3 times, most recently from 8e79db1 to b47f876 Compare September 27, 2026 12:31
@renovate
renovate Bot force-pushed the renovate/undici-8.x branch from b47f876 to 93d7f2a Compare October 17, 2026 12:22
@renovate
renovate Bot force-pushed the renovate/undici-8.x branch 2 times, most recently from e4dd43c to 56716b1 Compare October 20, 2026 16:08
@renovate
renovate Bot force-pushed the renovate/undici-8.x branch from 56716b1 to fe708ac Compare October 22, 2026 17:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants