Vulnerabilities in pkg:npm/undici

PACKAGE
Advisory Identifier: GHSA-pmjh-fq2x-6v4x
Advisory Summary

CVE-2026-18149 is a MODERATE (CVSS 5.9) denial of service vulnerability (CWE-772: Missing Release of Resource after Effective Lifetime) affecting Undici libraries in the npm ecosystem. The issue involves undici vulnerable to denial of service via orphaned retryhandler response body. Remediation is available by upgrading affected packages to version 7.29.1, 8.10.2.

46 Known Advisory Record(s)
Package Vulnerability Intelligence

pkg:npm/undici

46 Known Advisory Record(s)

Vulnerability advisories affecting package pkg:npm/undici. Select an advisory below to view technical details or fixes.

Advisory ID CVE / NVD Severity Summary
GHSA-pmjh-fq2x-6v4x CVE-2026-18149 MODERATE undici vulnerable to Denial of Service via orphaned RetryHandler response body
GHSA-r53p-7pc4-xj5r CVE-2026-18540 LOW undici vulnerable to downstream response splitting via retry interceptor
GHSA-rfgv-xxqx-mfg5 CVE-2026-19534 HIGH undici vulnerable to Denial of Service via unrequested WebSocket subprotocol
GHSA-3xpg-4rpp-hhhm CVE-2026-84890 MODERATE undici vulnerable to Denial of Service via unbounded decompression of compressed responses
GHSA-2jfj-6hjv-fm6j CVE-2026-84933 MODERATE undici vulnerable to cross-user cookie disclosure via Set-Cookie caching in shared caches
GHSA-2gqq-gqf2-x968 CVE-2026-84947 LOW undici vulnerable to response truncation via oversized chunked responses in the dump interceptor
GHSA-w293-vg96-wgc3 CVE-2026-84961 HIGH undici vulnerable to TLS certificate validation bypass via dropped connect options in BalancedPool
GHSA-8436-99hf-9mmv CVE-2026-85008 LOW undici vulnerable to caching and replay of unsafe HTTP method responses
GHSA-vp8m-p9jh-q5pm CVE-2026-85152 HIGH undici vulnerable to cross-origin cache poisoning via missing origin isolation in interceptors
GHSA-rx4f-c7p8-82vq CVE-2026-85014 MODERATE undici vulnerable to Denial of Service via WebSocketStream unclean close
GHSA-3wwx-pv8p-q78v CVE-2026-85024 MODERATE undici vulnerable to Denial of Service via unhandled error in WebSocket permessage-deflate decompression
GHSA-35p6-xmwp-9g52 CVE-2026-6733 LOW undici vulnerable to HTTP response queue poisoning via keep-alive socket reuse
GHSA-m8rv-5g2x-5cg5 CVE-2026-15157 MODERATE undici vulnerable to CRLF Injection via blob-like body 'type' property
GHSA-jr45-8vmc-qm54 CVE-2026-14643 MODERATE undici vulnerable to cross-user information disclosure via whitespace around equals in Cache-Control directives
GHSA-v3r7-h72x-cjcm CVE-2026-16729 MODERATE undici vulnerable to cookie attribute injection via unsanitized domain and unparsed setCookie fields
GHSA-8xcm-r25x-g524 CVE-2026-16728 MODERATE undici vulnerable to downstream response desynchronization via retry interceptor
GHSA-4cwx-7wf7-3272 CVE-2026-13697 HIGH undici vulnerable to cross-user information disclosure and parse-time crash via degenerate private cache directives
GHSA-g8m3-5g58-fq7m CVE-2026-11525 LOW undici vulnerable to Set-Cookie SameSite attribute downgrade via permissive substring matching
GHSA-vxpw-j846-p89q CVE-2026-12151 HIGH undici WebSocket client vulnerable to denial of service via fragment count bypass
GHSA-p88m-4jfj-68fv CVE-2026-9679 MODERATE undici vulnerable to HTTP header injection via Set-Cookie percent-decoding
GHSA-hm92-r4w5-c3mj CVE-2026-6734 HIGH undici vulnerable to cross-origin request routing via SOCKS5 proxy pool reuse
GHSA-vmh5-mc38-953g CVE-2026-9697 HIGH undici vulnerable to TLS certificate validation bypass via dropped requestTls in SOCKS5 ProxyAgent
GHSA-pr7r-676h-xcf6 CVE-2026-9678 MODERATE undici vulnerable to cross-user information disclosure via shared cache whitespace bypass
GHSA-38rv-x7px-6hhq CVE-2026-9675 HIGH undici WebSocket client vulnerable to denial of service via cumulative fragment bypass
GHSA-vrm6-8vpv-qv8q CVE-2026-1526 HIGH Undici has Unbounded Memory Consumption in WebSocket permessage-deflate Decompression
GHSA-v9p9-hfj2-hcw8 CVE-2026-2229 HIGH Undici has Unhandled Exception in WebSocket Client Due to Invalid server_max_window_bits Validation
GHSA-4992-7rv2-5pvq CVE-2026-1527 MODERATE Undici has CRLF Injection in undici via `upgrade` option
GHSA-phc3-fgpg-7m6h CVE-2026-2581 MODERATE Undici has Unbounded Memory Consumption in its DeduplicationHandler via Response Buffering that leads to DoS
GHSA-f269-vfmq-vjvj CVE-2026-1528 HIGH Undici: Malicious WebSocket 64-bit length overflows parser and crashes the client
GHSA-2mjp-6q6p-2qxm CVE-2026-1525 MODERATE Undici has an HTTP Request/Response Smuggling issue
GHSA-cxrh-j4jr-qwg3 CVE-2025-47279 LOW undici Denial of Service attack via bad certificate data
GHSA-g9mf-h72j-4rw9 CVE-2026-22036 MODERATE Undici has an unbounded decompression chain in HTTP responses on Node.js Fetch API via Content-Encoding leads to resource exhaustion
GHSA-9qxr-qj54-h672 CVE-2024-30261 LOW Undici's fetch with integrity option is too lax when algorithm is specified but hash value is in incorrect
GHSA-m4v8-wqvr-p9f7 CVE-2024-30260 LOW Undici's Proxy-Authorization header not cleared on cross-origin redirect for dispatch, request, stream, pipeline
GHSA-c76h-2ccp-4975 CVE-2025-22150 MODERATE Use of Insufficiently Random Values in undici
GHSA-3g92-w8c5-73pq CVE-2024-38372 LOW Undici vulnerable to data leak when using response.arrayBuffer()
GHSA-3787-6prv-h9w3 CVE-2024-24758 LOW Undici proxy-authorization header not cleared on cross-origin redirect in fetch
GHSA-9f24-jqhm-jfcw CVE-2024-24750 MODERATE fetch(url) leads to a memory leak in undici
GHSA-wqq4-5wpv-mx2g CVE-2023-45143 LOW Undici's cookie header not cleared on cross-origin redirect in fetch
GHSA-5r9g-qh6m-jxff CVE-2023-23936 MODERATE CRLF Injection in Nodejs ‘undici’ via host
GHSA-r6ch-mqf9-qc9w CVE-2023-24807 HIGH Regular Expression Denial of Service in Headers
GHSA-f772-66g8-q5h3 CVE-2022-35948 MODERATE Nodejs ‘undici’ vulnerable to CRLF Injection via Content-Type
GHSA-8qr4-xgw6-wmr3 CVE-2022-35949 MODERATE `undici.request` vulnerable to SSRF using absolute URL on `pathname`
GHSA-pgw7-wx7w-2w33 CVE-2022-32210 HIGH ProxyAgent vulnerable to MITM
GHSA-q768-x9m6-m9qp CVE-2022-31151 LOW undici before v5.8.0 vulnerable to uncleared cookies on cross-host / cross-origin redirect
GHSA-3cvr-822r-rqcc CVE-2022-31150 MODERATE undici before v5.8.0 vulnerable to CRLF injection in request headers

CVE-2026-18149 at a Glance

CVE Identifier CVE-2026-18149
GHSA Identifier GHSA-pmjh-fq2x-6v4x
Severity MODERATE
CVSS v3.1 Base Score 5.9
CWE Classification CWE-772: Missing Release of Resource after Effective Lifetime
Affected Product Undici
Package Ecosystem npm
Published Date
Last Updated

Security Impact

CVSS: 5.9

The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H).

Attack Vector Network (AV:N)
Attack Complexity High (AC:H)
Privileges Required None (PR:N)
User Interaction None (UI:N)
Scope Unchanged (S:U)
Confidentiality None (C:N)
Integrity None (I:N)
Availability High (A:H)

How to Fix CVE-2026-18149

To remediate this vulnerability, upgrade all affected Undici dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.

undici fixed: 7.29.1
npm install undici@7.29.1
undici fixed: 8.10.2
npm install undici@8.10.2
Verify Direct and Transitive Dependencies

Run the following command in your project directory to verify that all resolved dependencies use the patched release:

npm ls undici

How to Check if You Are Affected

To determine whether your Node.js application is affected by CVE-2026-18149, inspect your project dependencies using npm:

npm ls undici

Analyze the terminal output to locate any version of Undici in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 7.29.1), your application is affected.

Note: The npm ls undici command inspects dependencies declared in your package.json and lockfile; it does not perform automated runtime dynamic scanning.

Technical Details

Vulnerability Mechanism & Technical Analysis

This vulnerability is classified under CWE-772: Missing Release of Resource after Effective Lifetime, where the product does not release a resource after its effective lifetime has ended, i.e., after the resource is no longer needed. In Undici, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.

Source Advisory Statement

### Impact undici's `RetryHandler` can leave a response body pending indefinitely. When a retried request receives a non-retryable response after a truncated one, the original `response.body` held by the application is never settled, so reads such as `response.body.text()` hang and `bodyTimeout` does not fire. A malicious server can repeat this to accumulate pending promises and streams, leading to denial of service. ### Patches Patched in undici v7.29.1 and v8.10.2. ### Workarounds Impose an independent request deadline and destroy the response body when it expires. `bodyTimeout` alone does not prevent this.

CVE-2026-18149 Affected Undici Versions

2 component(s)
Fixed Versions:
7.29.18.10.2
Product / Package Ecosystem Affected Versions Fixed Version
undici
npm
≥ 7.11.0
< 7.29.1
7.29.1
undici
npm
≥ 8.0.0
< 8.10.2
8.10.2

References

Frequently Asked Questions

What is CVE-2026-18149?
CVE-2026-18149 is a security vulnerability in Undici involving undici vulnerable to Denial of Service via orphaned RetryHandler response body under CWE-772: Missing Release of Resource after Effective Lifetime.
Which Undici versions are affected?
Affected versions include releases prior to 7.29.1, 8.10.2 across affected packages: undici.
What version fixes CVE-2026-18149?
Upgrading to 7.29.1, 8.10.2 (or the latest patched release for your respective branch) resolves the vulnerability.
Is undici affected?
Yes, undici is affected in releases prior to 7.29.1, 8.10.2. Upgrade your dependency to 7.29.1, 8.10.2 or later.
What is the CVSS score of CVE-2026-18149?
CVE-2026-18149 has a CVSS v3.1 base score of 5.9 (MODERATE) with vector string CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H.
What CWE is associated with CVE-2026-18149?
CVE-2026-18149 is classified under CWE-772: Missing Release of Resource after Effective Lifetime (The product does not release a resource after its effective lifetime has ended, i.e., after the resource is no longer needed.).
How can I check npm dependencies for CVE-2026-18149?
Run the dependency tree command: 'npm ls undici'. This command lists direct and transitive dependencies in your build configuration so you can verify if a vulnerable version is resolved.
Machine-readable OSV JSON OSV v1.5 Schema
Normalized schema output
{
  "schema_version" : "1.4.0",
  "id" : "GHSA-pmjh-fq2x-6v4x",
  "modified" : "2026-09-29T18:22:35Z",
  "published" : "2026-09-29T18:22:34Z",
  "aliases" : [ "CVE-2026-18149" ],
  "summary" : "undici vulnerable to Denial of Service via orphaned RetryHandler response body",
  "details" : "### Impact\n\nundici's `RetryHandler` can leave a response body pending indefinitely. When a retried request receives a non-retryable response after a truncated one, the original `response.body` held by the application is never settled, so reads such as `response.body.text()` hang and `bodyTimeout` does not fire. A malicious server can repeat this to accumulate pending promises and streams, leading to denial of service.\n\n### Patches\n\nPatched in undici v7.29.1 and v8.10.2.\n\n### Workarounds\n\nImpose an independent request deadline and destroy the response body when it expires. `bodyTimeout` alone does not prevent this.",
  "severity" : [ {
    "type" : "CVSS_V3",
    "score" : "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H"
  } ],
  "affected" : [ {
    "package" : {
      "ecosystem" : "npm",
      "name" : "undici"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "7.11.0"
      }, {
        "fixed" : "7.29.1"
      } ]
    } ]
  }, {
    "package" : {
      "ecosystem" : "npm",
      "name" : "undici"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "8.0.0"
      }, {
        "fixed" : "8.10.2"
      } ]
    } ]
  } ],
  "references" : [ {
    "type" : "WEB",
    "url" : "https://github.com/nodejs/undici/security/advisories/GHSA-pmjh-fq2x-6v4x"
  }, {
    "type" : "ADVISORY",
    "url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-18149"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/nodejs/undici/commit/3c6726599cea8646384dde846c97d630da472a74"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/nodejs/undici/commit/e905b5b87e6953bcc542af90557b2fee5b7b5974"
  }, {
    "type" : "WEB",
    "url" : "https://hackerone.com/reports/3892751"
  }, {
    "type" : "WEB",
    "url" : "https://cna.openjsf.org/security-advisories.html"
  }, {
    "type" : "PACKAGE",
    "url" : "https://github.com/nodejs/undici"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/nodejs/undici/releases/tag/v7.29.1"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/nodejs/undici/releases/tag/v8.10.2"
  } ],
  "database_specific" : {
    "cwe_ids" : [ "CWE-772" ],
    "severity" : "MODERATE",
    "github_reviewed" : true,
    "github_reviewed_at" : "2026-09-29T18:22:34Z",
    "nvd_published_at" : "2026-09-04T18:17:49Z"
  }
}