Nodejs Node.Js vulnerabilities

162 known vulnerabilities affecting nodejs/node.js.

Total CVEs
162
CISA KEV
1
actively exploited
Public exploits
5
Exploited in wild
1
Severity breakdown
CRITICAL18HIGH96MEDIUM47LOW1

Vulnerabilities

Page 1 of 9
CVE-2025-55130CRITICALCVSS 9.1≥ 20.0.0, < 20.20.0≥ 22.0.0, < 22.22.0+2 more2026-01-20
CVE-2025-55130 [CRITICAL] CWE-289 CVE-2025-55130: A flaw in Node.js’s Permissions model allows attackers to bypass `--allow-fs-read` and `--allow-fs-w 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 the allowed path and read sensitive files. This breaks the expected isolation guarantees
nvd
CVE-2026-21636CRITICALCVSS 10.0≥ 25.0.0, < 25.3.02026-01-20
CVE-2026-21636 [CRITICAL] CWE-284 CVE-2026-21636: A flaw in Node.js's permission model allows Unix Domain Socket (UDS) connections to bypass network r 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 local sockets via net, tls, or undici/fetch. This breaks the intended security boundary
nvd
CVE-2025-59464HIGHCVSS 7.5≥ 24.0.0, < 24.12.02026-01-20
CVE-2025-59464 [HIGH] CWE-400 CVE-2025-59464: A memory leak in Node.js’s OpenSSL integration occurs when converting `X.509` certificate fields to 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 clients to trigger steady memory growth through repeated TLS connections. Over time this can lead t
nvd
CVE-2025-59466HIGHCVSS 7.5≥ 20.0.0, < 20.20.0≥ 22.0.0, < 22.22.0+2 more2026-01-20
CVE-2025-59466 [HIGH] CWE-248 CVE-2025-59466: We have identified a bug in Node.js error handling where "Maximum call stack size exceeded" errors b 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 unrecoverable. Applications that rely on `AsyncLocalStorage` (v22, v20) or `async_hooks.createH
nvd
CVE-2025-59465HIGHCVSS 7.5≥ 20.0.0, < 20.20.0≥ 22.0.0, < 22.22.0+2 more2026-01-20
CVE-2025-59465 [HIGH] CWE-400 CVE-2025-59465: A malformed `HTTP/2 HEADERS` frame with oversized, invalid `HPACK` data can cause Node.js to crash b 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. This primarily affects applications that do not attach explicit error handlers to secure socket
nvd
CVE-2026-21637HIGHCVSS 7.5≥ 4.0.0, < 20.20.0≥ 22.0.0, < 22.22.0+2 more2026-01-20
CVE-2026-21637 [HIGH] CWE-400 CVE-2026-21637: A flaw in Node.js TLS error handling allows remote attackers to crash or exhaust resources of a TLS 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 (tlsClientError and error), causing either immediate process termination or silent file descriptor leaks
nvd
CVE-2025-55132MEDIUMCVSS 5.3≥ 20.0.0, < 20.20.0≥ 22.0.0, < 22.22.0+2 more2026-01-20
CVE-2025-55132 [MEDIUM] CWE-276 CVE-2025-55132: A flaw in Node.js's permission model allows a file's access and modification timestamps to be change A flaw in Node.js's permission model allows a file's access and modification timestamps to be changed via `futimes()` even when the process has only read permissions. Unlike `utimes()`, `futimes()` does not apply the expected write-permission checks, which means file metadata can be modified in read-only directories. This behavior could be used to a
nvd
CVE-2025-23084MEDIUMCVSS 5.5≥ 18.0, < 18.20.6≥ 20.0, < 20.18.2+2 more2025-01-28
CVE-2025-23084 [MEDIUM] CWE-22 CVE-2025-23084: A vulnerability has been identified in Node.js, specifically affecting the handling of drive names i A vulnerability has been identified in Node.js, specifically affecting the handling of drive names in the Windows environment. Certain Node.js functions do not treat drive names as special on Windows. As a result, although Node.js assumes a relative path, it actually refers to the root directory. On Windows, a path that does not start with the file
nvd
CVE-2024-3566CRITICALCVSS 9.8≤ 21.7.22024-04-10
CVE-2024-3566 [CRITICAL] CWE-77 CVE-2024-3566: A command inject vulnerability allows an attacker to perform command injection on Windows applicatio 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.
nvd
CVE-2024-21896CRITICALCVSS 9.8≥ 20.0.0, < 20.11.1≥ 21.0.0, < 21.6.22024-02-20
CVE-2024-21896 [CRITICAL] CWE-27 CVE-2024-21896: The permission model protects itself against path traversal attacks by calling path.resolve() on any The permission model protects itself against path traversal attacks by calling path.resolve() on any paths given by the user. If the path is to be treated as a Buffer, the implementation uses Buffer.from() to obtain a Buffer from the result of path.resolve(). By monkey-patching Buffer internals, namely, Buffer.prototype.utf8Write, the application c
nvd
CVE-2024-21892HIGHCVSS 7.8≥ 18.0.0, < 18.19.1≥ 20.0.0, < 20.11.1+1 more2024-02-20
CVE-2024-21892 [HIGH] CWE-94 CVE-2024-21892: On Linux, Node.js ignores certain environment variables if those may have been set by an unprivilege On Linux, Node.js ignores certain environment variables if those may have been set by an unprivileged user while the process is running with elevated privileges with the only exception of CAP_NET_BIND_SERVICE. Due to a bug in the implementation of this exception, Node.js incorrectly applies this exception even when certain other capabilities have been
nvd
CVE-2024-21891HIGHCVSS 8.8≥ 20.0.0, < 20.11.1≥ 21.0.0, < 21.6.22024-02-20
CVE-2024-21891 [HIGH] CWE-22 CVE-2024-21891: Node.js depends on multiple built-in utility functions to normalize paths provided to node:fs functi Node.js depends on multiple built-in utility functions to normalize paths provided to node:fs functions, which can be overwitten with user-defined implementations leading to filesystem permission model bypass through path traversal attack. This vulnerability affects all users using the experimental permission model in Node.js 20 and Node.js 21. Please
nvd
CVE-2024-22019HIGHCVSS 7.5≥ 18.0.0, < 18.19.1≥ 20.0.0, < 20.11.1+1 more2024-02-20
CVE-2024-22019 [HIGH] CWE-404 CVE-2024-22019: A vulnerability in Node.js HTTP servers allows an attacker to send a specially crafted HTTP request A vulnerability in Node.js HTTP servers allows an attacker to send a specially crafted HTTP request with chunked encoding, leading to resource exhaustion and denial of service (DoS). The server reads an unbounded number of bytes from a single connection, exploiting the lack of limitations on chunk extension bytes. The issue can cause CPU and network ba
nvd
CVE-2024-21890MEDIUMCVSS 6.5≥ 20.0.0, < 20.11.1≥ 21.0.0, < 21.6.22024-02-20
CVE-2024-21890 [MEDIUM] CVE-2024-21890: The Node.js Permission Model does not clarify in the documentation that wildcards should be only use The Node.js Permission Model does not clarify in the documentation that wildcards should be only used as the last character of a file path. For example: ``` --allow-fs-read=/home/node/.ssh/*.pub ``` will ignore `pub` and give access to everything after `.ssh/`. This misleading documentation affects all users using the experimental permission model in Node
nvd
CVE-2023-30585HIGHCVSS 7.5≥ 16.0.0, < 16.20.1≥ 18.0.0, < 18.16.1+1 more2023-11-28
CVE-2023-30585 [HIGH] CVE-2023-30585: A vulnerability has been identified in the Node.js (.msi version) installation process, specifically 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 "msiexec.exe" process, running under the NT AUTHORITY\SYSTEM context, attempts to read the %USERPROFILE% environment variabl
nvd
CVE-2023-30590HIGHCVSS 7.5≥ 16.0.0, < 16.20.1≥ 18.0.0, < 18.16.1+1 more2023-11-28
CVE-2023-30590 [HIGH] CVE-2023-30590: The generateKeys() API function returned from crypto.createDiffieHellman() only generates missing (o 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 corresponding public key after calling setPrivateKey(). However, the documentation says this API call: "Generates private and pub
nvd
CVE-2023-30588MEDIUMCVSS 5.3≥ 16.0.0, < 16.20.1≥ 18.0.0, < 18.16.1+1 more2023-11-28
CVE-2023-30588 [MEDIUM] CVE-2023-30588: When an invalid public key is used to create an x509 certificate using the crypto.X509Certificate() When an invalid public key is used to create an x509 certificate using the crypto.X509Certificate() API a non-expect termination occurs making it susceptible to DoS attacks when the attacker could force interruptions of application processing, as the process terminates when accessing public key info of provided certificates from user code. The current contex
nvd
CVE-2023-30581HIGHCVSS 7.5≥ 16.0.0, < 16.20.1≥ 18.0.0, < 18.16.1+1 more2023-11-23
CVE-2023-30581 [HIGH] CWE-862 CVE-2023-30581: The use of __proto__ in process.mainModule.__proto__.require() can bypass the policy mechanism and r The use of __proto__ in process.mainModule.__proto__.require() can bypass the policy mechanism and require modules outside of the policy.json definition. This vulnerability affects all users using the experimental policy mechanism in all active release lines: v16, v18 and, v20. Please note that at the time this CVE was issued, the policy is an experi
nvd
CVE-2023-39332CRITICALCVSS 9.8≥ 20.0.0, < 20.8.02023-10-18
CVE-2023-39332 [CRITICAL] CVE-2023-39332: Various `node:fs` functions allow specifying paths as either strings or `Uint8Array` objects. In Nod Various `node:fs` functions allow specifying paths as either strings or `Uint8Array` objects. In Node.js environments, the `Buffer` class extends the `Uint8Array` class. Node.js prevents path traversal through strings (see CVE-2023-30584) and `Buffer` objects (see CVE-2023-32004), but not through non-`Buffer` `Uint8Array` objects. This is distinct from C
nvd
CVE-2023-38552HIGHCVSS 7.5≥ 18.0.0, ≤ 18.18.1≥ 20.1.0, ≤ 20.8.02023-10-18
CVE-2023-38552 [HIGH] CWE-345 CVE-2023-38552: When the Node.js policy feature checks the integrity of a resource against a trusted manifest, the a When the Node.js policy feature checks the integrity of a resource against a trusted manifest, the application can intercept the operation and return a forged checksum to the node's policy implementation, thus effectively disabling the integrity check. Impacts: This vulnerability affects all users using the experimental policy mechanism in all active
nvd