VulnSea

NodeJS has 56 CVEs on record between 2017 and 2026. Disclosure cadence is accelerating: 20 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.4 (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), Node (11).

CVEs per month

Last 12 months, by publish date

120102030405060708091011
Exploited share
0% vs 1% corpus
Median CVSS
7.4
Publish → KEV
—
Last 90 days
20 prev 1

Products

  • node.js 31
  • undici 14
  • Node 11
56
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.

56 CVEsRSS

CVE-2026-106071Low· 3.6PoC
1w ago

A flaw in Node.js Permission Model filesystem enforcement can grant access to paths that do not match a wildcard `--allow-fs-read` or `--allow-fs-write` rule. When the requested path is shorter than the prefix of a wildcard grant, the r…

A flaw in Node.js Permission Model filesystem enforcement can grant access to paths that do not match a wildcard `--allow-fs-read` or `--allow-fs-write` rule. When the requested path is shorter than the prefix of a wildcard grant, the r…

▾ Twilightnodejs · nodeEPSS 0.20%via CVEORG
CVE-2026-106072Medium· 6.7PoC
1w ago

A flaw in Node.js TLS hostname verification allows a certificate with only a DNS SAN to authenticate an IP endpoint when the client connects using a non-canonical IPv4 spelling, such as `0177.0.0.1`, `0x7f.0.0.1`, `2130706433` or `127.1`…

A flaw in Node.js TLS hostname verification allows a certificate with only a DNS SAN to authenticate an IP endpoint when the client connects using a non-canonical IPv4 spelling, such as `0177.0.0.1`, `0x7f.0.0.1`, `2130706433` or `127.1`…

▾ Twilightnodejs · nodeEPSS 0.62%via CVEORG
CVE-2026-106073Low· 3.3PoC
1w ago

A flaw in Node.js Permission Model filesystem enforcement leaves `fs.realpathSync()` without the required read permission checks

A flaw in Node.js Permission Model filesystem enforcement leaves `fs.realpathSync()` without the required read permission checks. This is an incomplete fix of CVE-2026-21715, which only covered `fs.realpathSync.native()`. As a result, c…

▾ Twilightnodejs · nodeEPSS 0.25%via CVEORG
CVE-2026-106070Low· 3.7PoC
1w ago

A flaw in the Node.js `zlib.ZipFile` API can cause it to return bytes that do not belong to the requested entry after the local and central header validation fails. When `zipEntry.modified` is read on an archive whose local header does …

A flaw in the Node.js `zlib.ZipFile` API can cause it to return bytes that do not belong to the requested entry after the local and central header validation fails. When `zipEntry.modified` is read on an archive whose local header does …

▾ Twilightnodejs · nodeEPSS 0.37%via CVEORG
CVE-2026-105483High· 7.4PoC
1w ago

A flaw in Node.js TLS hostname verification allows a certificate without a matching IP address SAN to authenticate a connection to an IPv4 address when the host is written with non-ASCII characters, such as fullwidth digits (`127.0.0.1`)…

A flaw in Node.js TLS hostname verification allows a certificate without a matching IP address SAN to authenticate a connection to an IPv4 address when the host is written with non-ASCII characters, such as fullwidth digits (`127.0.0.1`)…

▾ Midnightnodejs · nodeEPSS 0.30%via CVEORG
CVE-2026-106074Medium· 4.8PoC
1w ago

A flaw in Node.js `crypto` causes the internal entropy caches used by `crypto.randomUUID()`, `crypto.randomUUIDv7()`, and `crypto.randomInt()` to be saved into user-land startup snapshots (`--build-snapshot`) and single executable applic…

A flaw in Node.js `crypto` causes the internal entropy caches used by `crypto.randomUUID()`, `crypto.randomUUIDv7()`, and `crypto.randomInt()` to be saved into user-land startup snapshots (`--build-snapshot`) and single executable applic…

▾ Twilightnodejs · nodeEPSS 0.33%via CVEORG
CVE-2026-106069High· 7.4PoC
1w ago

A flaw in Node.js TLS hostname verification can cause a server certificate to be validated against a different IP address than the one the client connected to, when the host is a non-canonical IPv4 literal with a leading zero, such as `0…

A flaw in Node.js TLS hostname verification can cause a server certificate to be validated against a different IP address than the one the client connected to, when the host is a non-canonical IPv4 literal with a leading zero, such as `0…

▾ Midnightnodejs · nodeEPSS 0.30%via CVEORG
CVE-2026-105482High· 7.4PoC
1w ago

A flaw in Node.js DNS resolution allows hostnames containing a NUL byte to be silently truncated by the dns.resolve*() functions and dns.reverse()

A flaw in Node.js DNS resolution allows hostnames containing a NUL byte to be silently truncated by the dns.resolve*() functions and dns.reverse(). This is an incomplete fix of CVE-2026-48930, which only covered dns.lookup() and the net/…

▾ Midnightnodejs · nodeEPSS 0.47%via CVEORG
CVE-2026-105481Medium· 6.5PoC
1w ago

A flaw in Node.js HTTP Agent connection reuse can cause a client to accept as valid a response that was sent before the client has sent the request

A flaw in Node.js HTTP Agent connection reuse can cause a client to accept as valid a response that was sent before the client has sent the request. This is an incomplete fix of CVE-2026-48931. The guard that destroys idle keep-alive so…

▾ Twilightnodejs · nodeEPSS 0.32%via CVEORG
CVE-2026-84890Medium· 5.9
2mo 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
2mo 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
2mo 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
2mo 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
2mo 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
2mo 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
2mo 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
2mo 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
2mo 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
2mo 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
2mo 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.91%via NVD
NodeJS vulnerabilities (CVEs) · VulnSea