Skip to content
This repository was archived by the owner on May 15, 2026. It is now read-only.

Update dependency undici to v6.24.0 [SECURITY] - #10739

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/npm-undici-vulnerability
Open

Update dependency undici to v6.24.0 [SECURITY]#10739
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/npm-undici-vulnerability

Conversation

@renovate

@renovate renovate Bot commented Jan 15, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
undici (source) 6.21.36.24.0 age confidence

Undici: Malicious WebSocket 64-bit length overflows parser and crashes the client

CVE-2026-1528 / GHSA-f269-vfmq-vjvj

More information

Details

Impact

A server can reply with a WebSocket frame using the 64-bit length form and an extremely large length. undici's ByteParser overflows internal math, ends up in an invalid state, and throws a fatal TypeError that terminates the process.

Patches

Patched in the undici version v7.24.0 and v6.24.0. Users should upgrade to this version or later.

Workarounds

There are no workarounds.

Severity

  • CVSS Score: 7.5 / 10 (High)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Undici has an HTTP Request/Response Smuggling issue

CVE-2026-1525 / GHSA-2mjp-6q6p-2qxm

More information

Details

Impact

Undici allows duplicate HTTP Content-Length headers when they are provided in an array with case-variant names (e.g., Content-Length and content-length). This produces malformed HTTP/1.1 requests with multiple conflicting Content-Length values on the wire.

Who is impacted:

  • Applications using undici.request(), undici.Client, or similar low-level APIs with headers passed as flat arrays
  • Applications that accept user-controlled header names without case-normalization

Potential consequences:

  • Denial of Service: Strict HTTP parsers (proxies, servers) will reject requests with duplicate Content-Length headers (400 Bad Request)
  • HTTP Request Smuggling: In deployments where an intermediary and backend interpret duplicate headers inconsistently (e.g., one uses the first value, the other uses the last), this can enable request smuggling attacks leading to ACL bypass, cache poisoning, or credential hijacking
Patches

Patched in the undici version v7.24.0 and v6.24.0. Users should upgrade to this version or later.

Workarounds

If upgrading is not immediately possible:

  1. Validate header names: Ensure no duplicate Content-Length headers (case-insensitive) are present before passing headers to undici
  2. Use object format: Pass headers as a plain object ({ 'content-length': '123' }) rather than an array, which naturally deduplicates by key
  3. Sanitize user input: If headers originate from user input, normalize header names to lowercase and reject duplicates

Severity

  • CVSS Score: 6.5 / 10 (Medium)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Undici has CRLF Injection in undici via upgrade option

CVE-2026-1527 / GHSA-4992-7rv2-5pvq

More information

Details

Impact

When an application passes user-controlled input to the upgrade option of client.request(), an attacker can inject CRLF sequences (\r\n) to:

  1. Inject arbitrary HTTP headers
  2. Terminate the HTTP request prematurely and smuggle raw data to non-HTTP services (Redis, Memcached, Elasticsearch)

The vulnerability exists because undici writes the upgrade value directly to the socket without validating for invalid header characters:

// lib/dispatcher/client-h1.js:1121
if (upgrade) {
  header += `connection: upgrade\r\nupgrade: ${upgrade}\r\n`
}
Patches

Patched in the undici version v7.24.0 and v6.24.0. Users should upgrade to this version or later.

Workarounds

Sanitize the upgrade option string before passing to undici:

function sanitizeUpgrade(value) {
  if (/[\r\n]/.test(value)) {
    throw new Error('Invalid upgrade value')
  }
  return value
}

client.request({
  upgrade: sanitizeUpgrade(userInput)
})

Severity

  • CVSS Score: 4.6 / 10 (Medium)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Release Notes

nodejs/undici (undici)

v6.24.0

Compare Source

Undici v6.24.0 Security Release Notes (LTS)

This release backports fixes for security vulnerabilities affecting the v6 line.

Upgrade guidance

All users on v6 should upgrade to v6.24.0 or later.

Fixed advisories

Not applicable to v6

Affected and patched ranges (v6)

References

v6.23.0

Compare Source

Full Changelog: nodejs/undici@v6.22.0...v6.23.0

v6.22.0

Compare Source

What's Changed

Full Changelog: nodejs/undici@v6.21.3...v6.22.0


Configuration

📅 Schedule: (UTC)

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

🚦 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 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 requested a review from mrubens as a code owner January 15, 2026 02:05
@renovate
renovate Bot requested review from cte and jr as code owners January 15, 2026 02:05
@renovate
renovate Bot force-pushed the renovate/npm-undici-vulnerability branch 2 times, most recently from 0281951 to 0506d35 Compare January 23, 2026 17:38
@renovate
renovate Bot force-pushed the renovate/npm-undici-vulnerability branch from 0506d35 to fe1bff1 Compare February 2, 2026 15:30
@renovate
renovate Bot force-pushed the renovate/npm-undici-vulnerability branch from fe1bff1 to 8f87cc4 Compare February 12, 2026 10:09
@renovate
renovate Bot force-pushed the renovate/npm-undici-vulnerability branch 3 times, most recently from d5aeb86 to ef782ca Compare February 17, 2026 19:33
@dosubot dosubot Bot added the size:XS This PR changes 0-9 lines, ignoring generated files. label Feb 17, 2026
@renovate
renovate Bot force-pushed the renovate/npm-undici-vulnerability branch from ef782ca to 3ce0052 Compare March 5, 2026 15:56
@renovate
renovate Bot force-pushed the renovate/npm-undici-vulnerability branch 2 times, most recently from 8790d91 to b29ed9b Compare March 14, 2026 06:39
@renovate renovate Bot changed the title chore(deps): update dependency undici to v6.23.0 [security] chore(deps): update dependency undici to v6.24.0 [security] Mar 14, 2026
@renovate renovate Bot changed the title chore(deps): update dependency undici to v6.24.0 [security] chore(deps): update dependency undici to v6.24.0 [security] - autoclosed Mar 27, 2026
@renovate renovate Bot closed this Mar 27, 2026
@github-project-automation github-project-automation Bot moved this from New to Done in Roo Code Roadmap Mar 27, 2026
@renovate
renovate Bot deleted the renovate/npm-undici-vulnerability branch March 27, 2026 01:03
@renovate renovate Bot changed the title chore(deps): update dependency undici to v6.24.0 [security] - autoclosed chore(deps): update dependency undici to v6.24.0 [security] Mar 30, 2026
@renovate renovate Bot reopened this Mar 30, 2026
@renovate
renovate Bot force-pushed the renovate/npm-undici-vulnerability branch from c2c2a73 to b29ed9b Compare March 30, 2026 21:44
@github-project-automation github-project-automation Bot moved this from Done to New in Roo Code Roadmap Mar 30, 2026
@renovate
renovate Bot force-pushed the renovate/npm-undici-vulnerability branch from b29ed9b to c2c2a73 Compare March 30, 2026 21:44
@renovate renovate Bot changed the title chore(deps): update dependency undici to v6.24.0 [security] Update dependency undici to v6.24.0 [SECURITY] Apr 8, 2026
@renovate
renovate Bot force-pushed the renovate/npm-undici-vulnerability branch from c2c2a73 to 8af5c60 Compare April 8, 2026 14:50
@renovate renovate Bot changed the title Update dependency undici to v6.24.0 [SECURITY] chore(deps): update dependency undici to v6.24.0 [security] Apr 21, 2026
@renovate renovate Bot changed the title chore(deps): update dependency undici to v6.24.0 [security] chore(deps): update dependency undici to v6.24.0 [security] - autoclosed Apr 27, 2026
@renovate renovate Bot closed this Apr 27, 2026
@github-project-automation github-project-automation Bot moved this from New to Done in Roo Code Roadmap Apr 27, 2026
@renovate renovate Bot changed the title chore(deps): update dependency undici to v6.24.0 [security] - autoclosed chore(deps): update dependency undici to v6.24.0 [security] Apr 27, 2026
@renovate renovate Bot reopened this Apr 27, 2026
@renovate
renovate Bot force-pushed the renovate/npm-undici-vulnerability branch from d0fe0bf to 8af5c60 Compare April 27, 2026 23:52
@github-project-automation github-project-automation Bot moved this from Done to New in Roo Code Roadmap Apr 27, 2026
@renovate
renovate Bot force-pushed the renovate/npm-undici-vulnerability branch from 8af5c60 to d0fe0bf Compare April 27, 2026 23:52
@renovate renovate Bot changed the title chore(deps): update dependency undici to v6.24.0 [security] Update dependency undici to v6.24.0 [SECURITY] May 11, 2026
@renovate
renovate Bot force-pushed the renovate/npm-undici-vulnerability branch from d0fe0bf to 1f5d330 Compare May 12, 2026 02:48
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

size:XS This PR changes 0-9 lines, ignoring generated files.

Projects

No open projects
Status: Triage

Development

Successfully merging this pull request may close these issues.

0 participants