Vulnerabilities in pkg:npm/undici
PACKAGECVE-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.
pkg:npm/undici
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
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).
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.
npm install undici@7.29.1
npm install undici@8.10.2
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
CVE-2026-18149 Affected Undici Versions
2 component(s)| 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?
Which Undici versions are affected?
What version fixes CVE-2026-18149?
Is undici affected?
What is the CVSS score of CVE-2026-18149?
What CWE is associated with CVE-2026-18149?
How can I check npm dependencies for CVE-2026-18149?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"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"
}
}