VulnSea

nodejs has 45 CVEs on record between 2017 and 2026. Disclosure cadence is accelerating: 11 in the last 90 days against 1 in the 90 before. The busiest recent month was March 2026 with 11. The median CVSS is 7.5 (high), with 1 rated critical. None have a confirmed exploitation report. The dominant weakness classes are CWE-20 (8) and CWE-248 (7). Most affected products: node.js (31), undici (14).

CVEs per month

Last 12 months, by publish date

111201020304050607080910
Exploited share
0% vs 1% corpus
Median CVSS
7.5
Publish → KEV
—
Last 90 days
11 prev 1

Products

  • node.js 31
  • undici 14
45
Total CVEs
1
Critical
0
CISA KEV
0
Exploited

nodejs vulnerabilities

CVEs affecting nodejs, newest first. Open any entry for full detail, references, and exploit status.

45 CVEsRSS

CVE-2026-84890Medium· 5.9
1mo ago

undici's decompress interceptor decompresses response bodies according to the untrusted Content-Encoding header

undici's decompress interceptor decompresses response bodies according to the untrusted Content-Encoding header. While the number of content-encoding layers is capped, the total decompressed output size is unbounded and there is no confi…

▾ Sunlitnodejs · undiciEPSS 0.41%via NVD
CVE-2026-85152High· 7.4
1mo ago

undici 8.10.0 omits the destination origin from the cache and request-deduplication keys when the cache or deduplicate interceptor is composed directly onto a Client or Pool

undici 8.10.0 omits the destination origin from the cache and request-deduplication keys when the cache or deduplicate interceptor is composed directly onto a Client or Pool. Because the internal cache key falls back to an empty origin s…

▾ Twilightnodejs · undiciEPSS 0.16%via NVD
CVE-2026-85024Medium· 5.9
1mo ago

undici bundles a WebSocket client whose permessage-deflate size-limit cleanup removes all listeners from the internal zlib inflate stream, including its error listener, while that stream can still emit

undici bundles a WebSocket client whose permessage-deflate size-limit cleanup removes all listeners from the internal zlib inflate stream, including its error listener, while that stream can still emit. When a remote peer sends a compres…

▾ Sunlitnodejs · undiciEPSS 0.41%via NVD
CVE-2026-85014Medium· 5.9
1mo ago

undici's experimental WebSocketStream client crashes the whole Node.js process when a remote peer closes the TCP connection without a WebSocket close handshake

undici's experimental WebSocketStream client crashes the whole Node.js process when a remote peer closes the TCP connection without a WebSocket close handshake. On an unclean close the internal socket-close handler calls abort on the wri…

▾ Sunlitnodejs · undiciEPSS 0.37%via NVD
CVE-2026-85008Low· 3.7
1mo ago

undici's cache interceptor documents that only safe HTTP methods are cached, but its logic to skip caching is built by subtracting the configured methods from the set of safe methods, so an unsafe method such as POST, PUT, or DELETE is n…

undici's cache interceptor documents that only safe HTTP methods are cached, but its logic to skip caching is built by subtracting the configured methods from the set of safe methods, so an unsafe method such as POST, PUT, or DELETE is n…

▾ Sunlitnodejs · undiciEPSS 0.12%via NVD
CVE-2026-84961High· 7.4
1mo ago

undici's BalancedPool constructor passes its entire options object through an internal deep-clone that serializes and reparses the value as JSON

undici's BalancedPool constructor passes its entire options object through an internal deep-clone that serializes and reparses the value as JSON. Because JSON cannot represent functions, any function-valued TLS option, such as a caller-s…

▾ Twilightnodejs · undiciEPSS 0.18%via NVD
CVE-2026-84947Low· 3.7⚖ disputed
1mo ago

undici's dump interceptor reads and discards a response body up to a configurable maximum size

undici's dump interceptor reads and discards a response body up to a configurable maximum size. When a response declares a Content-Length that exceeds the maximum, the interceptor aborts cleanly, but when a response has no Content-Length…

▾ Sunlitnodejs · undiciEPSS 0.20%via NVD
CVE-2026-84933Medium· 6.5
1mo ago

undici's cache interceptor does not handle the Set-Cookie response header anywhere in its cache path, so it neither refuses to store nor strips that header

undici's cache interceptor does not handle the Set-Cookie response header anywhere in its cache path, so it neither refuses to store nor strips that header. In shared cache mode, which is the default, an otherwise cacheable response that…

▾ Sunlitnodejs · undiciEPSS 0.30%via NVD
CVE-2026-19534High· 7.5
1mo ago

undici's WebSocket client crashes the whole Node.js process during the opening handshake when a server responds with a subprotocol that the client never requested

undici's WebSocket client crashes the whole Node.js process during the opening handshake when a server responds with a subprotocol that the client never requested. A default WebSocket connection sends no subprotocol, but if the server's …

▾ Twilightnodejs · undiciEPSS 0.39%via NVD
CVE-2026-18540Low· 3.7
1mo ago

undici's retry interceptor can append the body of a ranged retry response to bytes already delivered from an earlier partial response while still presenting the original response's status and headers

undici's retry interceptor can append the body of a ranged retry response to bytes already delivered from an earlier partial response while still presenting the original response's status and headers. This happens when an upstream server…

▾ Sunlitnodejs · undiciEPSS 0.31%via NVD
CVE-2026-18149Medium· 5.9
1mo ago

undici's retry handler can leave an already-exposed response body pending forever

undici's retry handler can leave an already-exposed response body pending forever. When a server returns a successful response that declares a Content-Length, sends only part of the body, and closes the connection, the retry handler retr…

▾ Sunlitnodejs · undiciEPSS 0.48%via NVD
CVE-2026-48931Low· 3.7
4mo ago

A flaw in Node.js HTTP Agent can cause a client to accept as valid a response that is send before the client has sent the request. This vulnerability affects all supported release lines: **Node.js 22**, **Node.js 24**, and **Node.js 2…

A flaw in Node.js HTTP Agent can cause a client to accept as valid a response that is send before the client has sent the request. This vulnerability affects all supported release lines: **Node.js 22**, **Node.js 24**, and **Node.js 2…

▾ Sunlitnodejs · node.jsEPSS 0.32%via NVD
CVE-2026-21711Medium· 5.3
7mo ago

A flaw in Node.js Permission Model network enforcement leaves Unix Domain Socket (UDS) server operations without the required permission checks, while all comparable network paths correctly enforce them. As a result, code running unde…

A flaw in Node.js Permission Model network enforcement leaves Unix Domain Socket (UDS) server operations without the required permission checks, while all comparable network paths correctly enforce them. As a result, code running unde…

▾ Sunlitnodejs · node.jsEPSS 0.17%via NVD
CVE-2026-21710High· 7.5PoC
7mo ago

A flaw in Node.js HTTP request handling causes an uncaught `TypeError` when a request is received with a header named `__proto__` and the application accesses `req.headersDistinct`. When this occurs, `dest["__proto__"]` resolves to `O…

A flaw in Node.js HTTP request handling causes an uncaught `TypeError` when a request is received with a header named `__proto__` and the application accesses `req.headersDistinct`. When this occurs, `dest["__proto__"]` resolves to `O…

▾ Midnightnodejs · node.jsEPSS 25%via NVD
CVE-2026-21712Medium· 6.5
7mo ago

A flaw in Node.js URL processing causes an assertion failure in native code when `url.format()` is called with a malformed internationalized domain name (IDN) containing invalid characters, crashing the Node.js process.

A flaw in Node.js URL processing causes an assertion failure in native code when `url.format()` is called with a malformed internationalized domain name (IDN) containing invalid characters, crashing the Node.js process.

▾ Sunlitnodejs · node.jsEPSS 0.33%via NVD
CVE-2026-21717Medium· 5.9PoC
7mo ago

A flaw in V8's string hashing mechanism causes integer-like strings to be hashed to their numeric value, making hash collisions trivially predictable

A flaw in V8's string hashing mechanism causes integer-like strings to be hashed to their numeric value, making hash collisions trivially predictable. By crafting a request that causes many such collisions in V8's internal string table, …

▾ Twilightnodejs · node.jsEPSS 0.27%via NVD
CVE-2026-21716Low· 3.3
7mo ago

An incomplete fix for CVE-2024-36137 leaves `FileHandle.chmod()` and `FileHandle.chown()` in the promises API without the required permission checks, while their callback-based equivalents (`fs.fchmod()`, `fs.fchown()`) were correctly pa…

An incomplete fix for CVE-2024-36137 leaves `FileHandle.chmod()` and `FileHandle.chown()` in the promises API without the required permission checks, while their callback-based equivalents (`fs.fchmod()`, `fs.fchown()`) were correctly pa…

▾ Sunlitnodejs · node.jsEPSS 0.14%via NVD
CVE-2026-21715Low· 3.3
7mo ago

A flaw in Node.js Permission Model filesystem enforcement leaves `fs.realpathSync.native()` without the required read permission checks, while all comparable filesystem functions correctly enforce them. As a result, code running under…

A flaw in Node.js Permission Model filesystem enforcement leaves `fs.realpathSync.native()` without the required read permission checks, while all comparable filesystem functions correctly enforce them. As a result, code running under…

▾ Sunlitnodejs · node.jsEPSS 0.15%via NVD
CVE-2026-21714Medium· 5.3
7mo ago

A memory leak occurs in Node.js HTTP/2 servers when a client sends WINDOW_UPDATE frames on stream 0 (connection-level) that cause the flow control window to exceed the maximum value of 2³¹-1

A memory leak occurs in Node.js HTTP/2 servers when a client sends WINDOW_UPDATE frames on stream 0 (connection-level) that cause the flow control window to exceed the maximum value of 2³¹-1. The server correctly sends a GOAWAY frame, bu…

▾ Sunlitnodejs · node.jsEPSS 0.43%via NVD
CVE-2026-21713Medium· 5.9
7mo ago

A flaw in Node.js HMAC verification uses a non-constant-time comparison when validating user-provided signatures, potentially leaking timing information proportional to the number of matching bytes

A flaw in Node.js HMAC verification uses a non-constant-time comparison when validating user-provided signatures, potentially leaking timing information proportional to the number of matching bytes. Under certain threat models where high…

▾ Sunlitnodejs · node.jsEPSS 0.37%via NVD
CVE-2026-2229High· 7.5
7mo ago

ImpactThe undici WebSocket client is vulnerable to a denial-of-service attack due to improper validation of the server_max_window_bits parameter in the permessage-deflate extension

ImpactThe undici WebSocket client is vulnerable to a denial-of-service attack due to improper validation of the server_max_window_bits parameter in the permessage-deflate extension. When a WebSocket client connects to a server, it automa…

▾ Twilightnodejs · undiciEPSS 0.89%via NVD
CVE-2026-1528High· 7.5
7mo ago

ImpactA server can reply with a WebSocket frame using the 64-bit length form and an extremely large length

ImpactA 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 proces…

▾ Twilightnodejs · undiciEPSS 0.50%via NVD
CVE-2026-1526High· 7.5
7mo ago

The undici WebSocket client is vulnerable to a denial-of-service attack via unbounded memory consumption during permessage-deflate decompression

The undici WebSocket client is vulnerable to a denial-of-service attack via unbounded memory consumption during permessage-deflate decompression. When a WebSocket connection negotiates the permessage-deflate extension, the client decompr…

▾ Twilightnodejs · undiciEPSS 1.2%via NVD
CVE-2025-59465High· 7.5
9mo ago

A malformed `HTTP/2 HEADERS` frame with oversized, invalid `HPACK` data can cause Node.js to crash by triggering an unhandled `TLSSocket` error `ECONNRESET`

A malformed `HTTP/2 HEADERS` frame with oversized, invalid `HPACK` data can cause Node.js to crash by triggering an unhandled `TLSSocket` error `ECONNRESET`. Instead of safely closing the connection, the process crashes, enabling a remot…

▾ Twilightnodejs · node.jsEPSS 4.0%via NVD
CVE-2025-55130Critical· 9.1PoC
9mo ago

A flaw in Node.js’s Permissions model allows attackers to bypass `--allow-fs-read` and `--allow-fs-write` restrictions using crafted relative symlink paths

A flaw in Node.js’s Permissions model allows attackers to bypass `--allow-fs-read` and `--allow-fs-write` restrictions using crafted relative symlink paths. By chaining directories and symlinks, a script granted access only to the curren…

▾ Abyssalnodejs · node.jsEPSS 1.7%via NVD
CVE-2023-30590High· 7.5
2y ago

The generateKeys() API function returned from crypto.createDiffieHellman() only generates missing (or outdated) keys, that is, it only generates a private key if none has been set yet, but the function is also needed to compute the corre…

The generateKeys() API function returned from crypto.createDiffieHellman() only generates missing (or outdated) keys, that is, it only generates a private key if none has been set yet, but the function is also needed to compute the corre…

▾ Twilightnodejs · node.jsEPSS 1.5%via NVD
CVE-2023-30585High· 7.5
2y ago

A vulnerability has been identified in the Node.js (.msi version) installation process, specifically affecting Windows users who install Node.js using the .msi installer

A vulnerability has been identified in the Node.js (.msi version) installation process, specifically affecting Windows users who install Node.js using the .msi installer. This vulnerability emerges during the repair operation, where the …

▾ Twilightnodejs · node.jsEPSS 1.5%via NVD
CVE-2023-30589High· 7.5
3y ago

The llhttp parser in the http module in Node v20.2.0 does not strictly use the CRLF sequence to delimit HTTP requests

The llhttp parser in the http module in Node v20.2.0 does not strictly use the CRLF sequence to delimit HTTP requests. This can lead to HTTP Request Smuggling (HRS). The CR character (without LF) is sufficient to delimit HTTP header f…

▾ Twilightnodejs · node.jsEPSS 3.9%via NVD
CVE-2021-44533Medium· 5.3⚖ disputed
4y ago

Node.js < 12.22.9, < 14.18.3, < 16.13.2, and < 17.3.1 did not handle multi-value Relative Distinguished Names correctly

Node.js < 12.22.9, < 14.18.3, < 16.13.2, and < 17.3.1 did not handle multi-value Relative Distinguished Names correctly. Attackers could craft certificate subjects containing a single-value Relative Distinguished Name that would be inter…

▾ Sunlitnodejs · node.jsEPSS 9.4%via NVD
CVE-2018-12123Medium· 4.3
7y ago

Node.js: All versions prior to Node.js 6.15.0, 8.14.0, 10.14.0 and 11.3.0: Hostname spoofing in URL parser for javascript protocol: If a Node.js application is using url.parse() to determine the URL hostname, that hostname can be spoofed…

Node.js: All versions prior to Node.js 6.15.0, 8.14.0, 10.14.0 and 11.3.0: Hostname spoofing in URL parser for javascript protocol: If a Node.js application is using url.parse() to determine the URL hostname, that hostname can be spoofed…

▾ Sunlitnodejs · node.jsEPSS 4.0%via NVD
nodejs vulnerabilities (CVEs) · VulnSea