CyberSecBulletin

Node.js vulnerabilities

We track 67 vulnerabilities in Node.js products across 4 products. 67 are rated high or critical, and 1 has been exploited in real attacks. The most recent was published on November 11, 2026.

67vulnerabilities
9critical
58high
1exploited
8.0average CVSS score

Latest Node.js vulnerabilities

  • 7.5 High severity

    node: NULL Pointer Dereference

    CVE-2026-126051Node.js

    A deferred-callback use-after-destroy in Node.js TLS server handshake handling allows a remote, unauthenticated attacker to terminate the server process. When a TLS server uses any of the SNICallback, OCSPRequest, newSession, or resumeSession hooks, or server.

  • 7.5 High severity

    node: Use After Free

    CVE-2026-123874Node.js

    A use-after-free in Node.js HTTP/2 lets an unauthenticated client corrupt server memory, over both TLS and cleartext, when the server serves files with respondWithFile() or respondWithFD(). A client can make the server free an Http2Stream while a write request

  • 8.1 High severity

    node: Improper Authentication

    CVE-2026-123872Node.js

    A client certificate authentication bypass in Node.js TLS lets a client change the servername during TLS 1.2 renegotiation to reach endpoints it was not authorized for. On a server that applies different client-certificate policies per hostname, for example st

  • 7.5 High severity

    node: Use After Free

    CVE-2026-123866Node.js

    A use-after-free in Node.js HTTP/2 stream teardown can leak response memory, including the contents of other connections' response buffers, to a peer. When a stream is torn down while a write is still backpressured, for example by a peer RST_STREAM or by the s

  • 7.5 High severity

    node: Uncontrolled Resource Consumption

    CVE-2026-123865Node.js

    An unauthenticated HTTP/2 client can permanently leak Node.js server memory and file descriptors. If a peer triggers a protocol error, for example an oversized frame header, while the session is already shutting down, nghttp2 tears the session down internally

  • 8.1 High severity

    node: Use After Free

    CVE-2026-123864Node.js

    A re-entrancy flaw in Node.js HTTPS lets an unauthenticated client read memory belonging to other connections, including TLS private keys and other users' requests. TLSWrap::DoWrite() calls ClearOut() directly when asked to write zero bytes; if that write is i

  • 8.2 High severity

    node: Reachable Assertion

    CVE-2026-123863Node.js

    A reachable assertion in Node.js HTTP/2 session teardown lets any unauthenticated client abort the server, over both TLS and cleartext. A client can arrange for an Http2Stream that still holds nghttp2-allocated header buffers to outlive its session: the stream

  • 7.4 High severity

    node: Improper Certificate Validation

    CVE-2026-106069Node.js

    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 `0127.0.0.1`. `tls.checkS

  • 7.4 High severity

    node: Improper Certificate Validation

    CVE-2026-105483Node.js

    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`). `tls.checkServerIdent

  • 7.4 High severity

    node: Improper Access Control

    CVE-2026-105482Node.js

    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/tls host options. Becau

  • 7.5 High severity

    node: Use After Free

    CVE-2026-56848Node.js

    A flaw in Node.js HTTP/2 handling allows `nghttp2_session_mem_send()` to be called re-entrantly while `nghttp2_session_mem_recv()` is executing, resulting in a heap-use-after-free. This vulnerability affects Node.js **26.x**, **24.x**, and **22.x**.

  • 7.5 High severity

    node: Uncontrolled Resource Consumption

    CVE-2026-56846Node.js

    A flaw in Node.js HTTP/2 handling can cause HTTP/2 retained header blocks evade maxSessionMemory and enable remote memory exhaustion. This vulnerability affects Node.js **24.x** and **22.x**.

  • 8.4 High severity

    node: Improper Access Control

    CVE-2026-58043Node.js

    A flaw in Node.js Permission Model enforcement can over-grant filesystem access across radix-tree prefix boundaries. Under `--permission`, an attacker who is granted access to one path can abuse boundary handling to read from or write to paths outside the inte

  • 7.5 High severity

    node: Integer Overflow or Wraparound

    CVE-2026-48933Node.jsEPSS 3.71%

    A flaw in Node.js WebCrypto implementation can crash the process if the input of `subtle.encrypt()` is a multiple of 2GiB. This vulnerability affects all supported release lines: **Node.js 22**, **Node.js 24**, and **Node.js 26**.

  • 9.8 Critical severity

    node: Improper Access Control

    CVE-2026-48930Node.js

    A flaw in Node.js TLS hostname handling can cause Embedded-nul hostnames can lead to silent authority rebinding due to c-string truncation in resolver bindings. This vulnerability affects all supported release lines: **Node.js 22**, **Node.js 24**, and **Node.

  • 7.5 High severity

    node: Uncontrolled Resource Consumption

    CVE-2026-48619Node.js

    A flaw in Node.js HTTP/2 client allows a server to send an unlimited number of ORIGIN frames, which could lead to an Out of Memory error on the client. This vulnerability affects all supported release lines: **Node.js 22**, **Node.js 24**, and **Node.js 26**.

  • 7.5 High severity

    node: Exposure of Private Personal Information to an Unauthorized Actor

    CVE-2026-48615Node.js

    A flaw in Node.js proxy tunnel error handling could expose proxy credentials in `ERR_PROXY_TUNNEL` error messages. When proxy credentials are embedded in the proxy URL, they may be exposed through error handling paths and captured by logs, diagnostics, or othe

  • 7.5 High severity

    node: Uncontrolled Resource Consumption

    CVE-2026-48937Node.js

    A flaw in Node.js HTTP/2 server API can cause servers to keep accepting data even after sending a `GOAWAY` frame. This vulnerability affects two supported release lines: **Node.js 22** and **Node.js 24**.

  • 8.2 High severity

    node: Improper Access Control

    CVE-2026-48617Node.js

    A flaw in Node.js Permission Model enforcement allows Bypass via `process.report.writeReport()` Path Misvalidation. This can lead to confidentiality impact or bypass of the intended security boundary under affected configurations. This vulnerability affects al

  • 7.5 High severity

    node: Allocation of Resources Without Limits or Throttling

    CVE-2026-21710Node.jsEPSS 25.4%

    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 `Object.prototype` rather th

  • 7.5 High severity

    node: Uncontrolled Resource Consumption

    CVE-2026-21637Node.jsEPSS 1.12%

    A flaw in Node.js TLS error handling allows remote attackers to crash or exhaust resources of a TLS server when `pskCallback` or `ALPNCallback` are in use. Synchronous exceptions thrown during these callbacks bypass standard TLS error handling paths (tlsClient

  • 10.0 Critical severity

    node: Improper Access Control

    CVE-2026-21636Node.js

    A flaw in Node.js's permission model allows Unix Domain Socket (UDS) connections to bypass network restrictions when `--permission` is enabled. Even without `--allow-net`, attacker-controlled inputs (such as URLs or socketPath options) can connect to arbitrary

  • 7.5 High severity

    node: Uncaught Exception

    CVE-2025-59466Node.js

    We have identified a bug in Node.js error handling where "Maximum call stack size exceeded" errors become uncatchable when `async_hooks.createHook()` is enabled. Instead of reaching `process.on('uncaughtException')`, the process terminates, making the crash un

  • 7.5 High severity

    node: Uncontrolled Resource Consumption

    CVE-2025-59465Node.jsEPSS 3.96%

    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 remote denial of service. Th

  • 7.5 High severity

    node: Uncontrolled Resource Consumption

    CVE-2025-59464Node.js

    A memory leak in Node.js’s OpenSSL integration occurs when converting `X.509` certificate fields to UTF-8 without freeing the allocated buffer. When applications call `socket.getPeerCertificate(true)`, each certificate field leaks memory, allowing remote clien

  • 7.1 High severity

    node: Buffer Copy without Checking Size of Input

    CVE-2025-55131Node.jsEPSS 3.45%

    A flaw in Node.js's buffer allocation logic can expose uninitialized memory when allocations are interrupted, when using the `vm` module with the timeout option. Under specific timing conditions, buffers allocated with `Buffer.alloc` and other `TypedArray` ins

  • 9.1 Critical severity

    node: Authentication Bypass by Alternate Name

    CVE-2025-55130Node.jsEPSS 1.7%

    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 current directory can escape

  • 7.5 High severity

    undici: Allocation of Resources Without Limits or Throttling

    CVE-2026-22036Node.js

    Undici is an HTTP/1.1 client for Node.js. Prior to 7.18.0 and 6.23.0, the number of links in the decompression chain is unbounded and the default maxHeaderSize allows a malicious server to insert thousands compression steps leading to high CPU usage and excess

  • 7.5 High severity

    node: Improper Limitation of a Pathname to a Restricted Directory

    CVE-2025-27210Node.jsEPSS 14.3%

    An incomplete fix has been identified for CVE-2025-23084 in Node.js, specifically affecting Windows device names like CON, PRN, and AUX. This vulnerability affects Windows users of `path.join` API.

  • 7.5 High severity

    node: Inefficient Algorithmic Complexity

    CVE-2025-27209Node.jsEPSS 1.25%

    The V8 release used in Node.js v24.0.0 has changed how string hashes are computed using rapidhash. This implementation re-introduces the HashDoS vulnerability as an attacker who can control the strings to be hashed can generate many hash collisions - an attack

  • 7.5 High severity

    node: Uncaught Exception

    CVE-2025-23166Node.js

    The C++ method SignTraits::DeriveBits() may incorrectly call ThrowException() based on user-supplied inputs when executing in a background thread, crashing the Node.js process. Such cryptographic operations are commonly applied to untrusted inputs. Thus, this

  • 7.7 High severity

    Node: Improper Access Control

    CVE-2025-23083Node.js

    With the aid of the diagnostics_channel utility, an event can be hooked into whenever a worker thread is created. This is not limited only to workers but also exposes internal workers, where an instance of them can be fetched, and its constructor can be grabbe

  • 8.1 High severity

    Node: Improper Neutralization of Special Elements used in a Command

    CVE-2024-27980Node.jsEPSS 1.4%

    Due to the improper handling of batch files in child_process.spawn / child_process.spawnSync, a malicious command line argument can inject arbitrary commands and achieve code execution even if the shell option is not enabled.

  • 8.1 High severity

    Node: Improper Neutralization of Special Elements used in a Command

    CVE-2024-36138Node.jsEPSS 1.1%

    Bypass incomplete fix of CVE-2024-27980, that arises from improper handling of batch files with all possible extensions on Windows via child_process.spawn / child_process.spawnSync. A malicious command line argument can inject arbitrary commands and achieve co

  • 7.4 High severity

    Node: Covert Timing Channel

    CVE-2023-46809Node.jsEPSS 1.3%

    Node.js versions which bundle an unpatched version of OpenSSL or run against a dynamically linked version of OpenSSL which are unpatched are vulnerable to the Marvin Attack - https://people.redhat.com/~hkario/marvin/, if PCKS #1 v1.5 padding is allowed when pe

  • 7.5 High severity

    Node: Improper Access Control

    CVE-2023-30587Node.js

    A vulnerability in Node.js version 20 allows for bypassing restrictions set by the --experimental-permission flag using the built-in inspector module (node:inspector). By exploiting the Worker class's ability to create an "internal worker" with the kIsInternal

  • 7.7 High severity

    Node: Improper Limitation of a Pathname to a Restricted Directory

    CVE-2023-30584Node.js

    A vulnerability has been discovered in Node.js version 20, specifically within the experimental permission model. This flaw relates to improper handling of path traversal bypass when verifying file permissions. Please note that at the time this CVE was issued,

  • 7.5 High severity

    Node: Improper Access Control

    CVE-2023-30583Node.js

    fs.openAsBlob() can bypass the experimental permission model when using the file system read restriction with the `--allow-fs-read` flag in Node.js 20. This flaw arises from a missing check in the `fs.openAsBlob()` API. Please note that at the time this CVE wa

  • 9.8 Critical severity

    Node.js: Improper Neutralization of Special Elements used in a Command

    CVE-2024-3566Node.jsEPSS 6.83%

    A command inject vulnerability allows an attacker to perform command injection on Windows applications that indirectly depend on the CreateProcess function when the specific conditions are satisfied.

  • 8.2 High severity

    Node: Concurrent Execution using Shared Resource with Improper Synchronization

    CVE-2024-27983Node.jsEPSS 83.8%

    An attacker can make the Node.js HTTP/2 server completely unavailable by sending a small amount of HTTP/2 frames packets with a few HTTP/2 frames inside. It is possible to leave some data in nghttp2 memory after reset when headers with HTTP/2 CONTINUATION fram