p PatchFirst

PatchFirst · Latest vulnerabilities

Node.js stack vulnerabilities · Page 9

Vulnerabilities published for Node.js in the last 30 days: 421. Listed in the KEV catalogue: 0.

Filter vulnerabilities
Node.js

Early warnings

Fresh vulnerability reports from vendor announcements and security news. These warnings do not change the security rating.

  1. node.js

    No fix published

    Node.js: denial of service

    According to GitHub Advisory Database, Node.js has a denial of service vulnerability (CVE-2026-109932). The exact affected versions are unspecified. The report does not name a fixed version.

    What to do now: Check whether a Node.js update with the fix is available and install it.

    CVE-2026-109932

  2. node.js

    No fix published

    Node.js: remote code execution

    According to OpenNet, Node.js has a remote code execution vulnerability (CVE-2026-111497). The exact affected versions are unspecified. The report does not name a fixed version.

    What to do now: Check whether a Node.js update with the fix is available and install it.

    CVE-2026-111497

Vulnerabilities: 7762

  1. CVE-2026-112948

    Medium · CVSS 6.5EPSS 0.4%Fix available

    Vitest: Servers misapply `server.fs.deny`, serving `.env`, private keys, `.git`, and the API token file

    Vitest is a testing framework powered by Vite. From 5.0.0-beta.6 until 5.0.5, Vitest dev servers can misapply server.fs.deny because project servers replace Vite's defaults and the root server adds .vitest-secret-token after Vite compiles its matcher. An attacker who can reach an affected UI, Browser Mode, or API server can read denied project files or the fallback API token at node_modules/.vitest/.vitest-secret-token, and Browser Mode with test.projects can expose JavaScript-compatible .env values through a malicious website. This issue is fixed in version 5.0.5.

    • Update to 1.3.0
    • Update to 5.0.5
    Published Updated
  2. CVE-2026-112947

    Medium · CVSS 6.3EPSS 0.5%Public exploitFix available

    Vite: First 4 bytes of files outside of `server.fs` setting is exposed by `?vite-wasm-instance`

    Vite is a frontend tooling framework for JavaScript. From 8.2.0 until 8.2.4 and 8.3.3, the first 4 bytes of files outside of server.fs setting can be returned to the browser by a request containing ?vite-wasm-instance. Requests containing the ?vite-wasm-instance query are handled by the internal Wasm plugin's load hook. The hook removes the query and reads the resulting path directly from disk, but the server.fs checks were not applied. After reading the file, Vite attempts to parse it as WebAssembly. When that parse fails, Node and deno throws an error that contains the first 4 bytes of the file. This vulnerability is fixed in 8.2.4 and 8.3.

    • Update to 1.1.0
    • Update to 8.2.4
    • Update to 8.3.3
    Published Updated
  3. CVE-2026-112946

    Medium · CVSS 6.3EPSS 0.85%Public exploitFix available

    Vite: Files outside `server.fs.allow` could be served when project paths match system paths on non-Windows machine

    Vite is a frontend tooling framework for JavaScript. Prior to 6.4.4, 7.3.7, 8.1.6, 8.2.4, and 8.3.3, import analysis can record a root-relative browser URL in safeModulePaths instead of the cleaned resolved module identifier. On a network-accessible, non-Windows development server, an imported project file whose URL matches an absolute host path can authorize a later raw-filesystem request for that host file, provided server.fs.deny does not block it. The request can disclose the matching file outside the project root, but it does not allow arbitrary path traversal because the host path must correspond to a project-relative URL authorized by

    • Update to 1.1.0
    • Update to 6.4.4
    • Update to 7.3.7
    • Update to 8.1.6
    • Update to 8.2.4
    • Update to 8.3.3
    Published Updated
  4. CVE-2026-112945

    Low · CVSS 2.1EPSS 0.67%Public exploitFix available

    Vite: Cross origin script execution through Vite custom middleware

    Vite is a frontend tooling framework for JavaScript. Prior to 6.4.4, 7.3.7, 8.1.6, 8.2.4, and 8.3.3, applications using custom middleware are vulnerable when they pass an unchanged browser request URL to server.transformIndexHtml. getHtmlFilename uses the query-bearing request URL to resolve an existing local file while preserving attacker-supplied leading slashes in the generated proxy module URL. If the transformed HTML contains an inline module script and a victim browser loads the crafted development-server page, the leading double slash makes the browser fetch and execute an attacker-controlled module in the Vite-served page. This execut

    • Update to 1.1.0
    • Update to 6.4.4
    • Update to 7.3.7
    • Update to 8.1.6
    • Update to 8.2.4
    • Update to 8.3.3
    Published Updated
  5. CVE-2026-112944

    Medium · CVSS 6.3EPSS 0.7%Fix available

    launch-editor: Editor CLI flag misinterpretation causing arbitrary command execution for some editors

    launch-editor allows users to open files with line numbers in editor from Node.js. Prior to 2.14.2, when an attacker can create a filesystem entry beginning with plus or minus in the working directory, an affected editor is selected, and the path can remain relative or is converted to a relative WSL path, launchEditor forwards the path without forcing it to be interpreted as a positional filename. Editor option parsing then treats the attacker-controlled filename as a command-line flag, which can cause unintended file overwrite or arbitrary command execution by the selected editor. The affected editors are Vim and gVim, MacVim, Emacs and Emac

    • Update to 1.1.0
    • Update to 2.14.2
    • Update to 6.4.4
    • Update to 7.3.7
    • Update to 8.1.6
    • Update to 8.2.4
    • Update to 8.3.3
    Published Updated
  6. CVE-2026-112943

    Medium · CVSS 6.3EPSS 0.41%Fix available

    launch-editor: escapeCmdArgs() omits % escaping on Windows

    launch-editor allows users to open files with line numbers in editor from Node.js. Prior to 2.14.2, launch-editor did not escape % on Windows when passing an argument to cmd. When an environment variable contained a malicious value, it was possible that that content to be executed. This vulnerability is fixed in 2.14.2.

    • Update to 1.1.0
    • Update to 2.14.2
    • Update to 6.4.4
    • Update to 7.3.7
    • Update to 8.1.6
    • Update to 8.2.4
    • Update to 8.3.3
    Published Updated
  7. CVE-2026-112942

    High · CVSS 7.5EPSS 1.34%Fix available

    launch-editor: `fs.existsSync()` existence check can be bypassed on Windows

    launch-editor allows users to open files with line numbers in editor from Node.js. Prior to 2.14.2, launch-editor-middleware processes an attacker-controlled Windows file argument where the file argument ends in a parent-directory component plus a line-and-column suffix: the path is resolved while the suffix is still present, and launch-editor removes the suffix before its existsSync check, leaving the existing parent directory for existsSync and allowing the attacker-controlled file argument to pass filename existence validation without requiring the malicious filename to exist. The bypass can lead to OS command injection when combined with

    • Update to 1.1.0
    • Update to 2.14.2
    • Update to 6.4.4
    • Update to 7.3.7
    • Update to 8.1.6
    • Update to 8.2.4
    • Update to 8.3.3
    Published Updated
  8. CVE-2026-111752

    High · CVSS 8.2Fix available

    @angular/router: Denial of Service via Unmatched Empty-Path Outlet Route Matching in Server-Side Rendering (SSR)

    A denial of service (DoS) vulnerability was identified in `@angular/router` when Server-Side Rendering (SSR) is enabled on Node.js (V8). During route recognition, `@angular/router` fails to validate whether an auxiliary outlet segment in the URL matches a route configured for that specific outlet name. Because unconfigured empty-path outlet groups (such as `a:/()`, `x:/(...)`, or `///(...)`) are not rejected during matching, the router repeatedly re-evaluates the route configuration against each arbitrary outlet segment provided in the URL. When a request URL contains multiple arbitrary empty-path outlet segments, this improper matching for

    • Update to 20.3.33
    • Update to 21.2.25
    • Update to 22.2.1
    Published Updated
  9. CVE-2026-111754

    Medium · CVSS 5.1Fix available

    @angular/platform-server: Open Redirect via Protocol-Relative URLs in Server-Side Rendering (SSR)

    An open redirect vulnerability was identified in `@angular/platform-server` when Server-Side Rendering (SSR) is enabled. When Angular SSR renders an incoming request, URL resolution and platform navigation are managed by `ServerPlatformLocation` using `resolveUrl` (or `parseUrl` in v20). While `resolveUrl` rejected protocol-relative URLs whose raw string directly started with `//`, this check ran *prior* to WHATWG URL normalization. When a request URL includes a popping dot-segment followed by multiple slashes (such as `/.//evil.test` or serialized from router route shapes like `/.;/(//evil.test)`), the input bypassed the initial `urlStr.st

    • Update to 20.3.33
    • Update to 21.2.25
    • Update to 22.2.1
    Published Updated
  10. CVE-2026-110725

    Low · CVSS 3.7EPSS 0.3%Fix available

    fast-uri vulnerable to scheme injection via an unescaped first-segment colon in suffix references

    fast-uri is a dependency-free RFC 3986 URI parser and serializer for Node.js. In versions before 2.4.8, from 3.0.0 through 3.1.8, and from 4.0.0 through 4.2.2, when serialize(), normalize(), or resolve() are called with the non-default option reference set to suffix on a reference that has no authority, the emitted relative reference can contain a bare colon in its first path segment without escaping it, even though RFC 3986 forbids that because it makes the string reparse as an absolute URI with a scheme. An application that serializes or normalizes a relative reference with the suffix option and then treats the result as a URI can turn iner

    • Update to 2.4.8
    • Update to 3.1.9
    • Update to 4.2.3
    • Update to 8.20.0~ds+~cs7.2.4-1
    Published Updated
  11. CVE-2026-110306

    Medium · CVSS 6.1EPSS 0.25%Fix available

    fast-uri vulnerable to URI scheme spoofing via percent-encoded scheme decoding

    fast-uri is a dependency-free RFC 3986 URI parser and serializer for Node.js. In versions before 2.4.8, from 3.0.0 through 3.1.8, and from 4.0.0 through 4.2.2, fast-uri percent-decodes the scheme component with the legacy global unescape() function before validating it, so an input whose decoded scheme is a dangerous token is emitted as a live scheme even though RFC 3986 does not allow percent-encoding in a scheme and no other parser accepts it. An application that screens dangerous schemes on the raw input and then stores or renders the normalized or resolved result can turn an inert string into an executable javascript, data, or vbscript UR

    • Update to 2.4.8
    • Update to 3.1.9
    • Update to 4.2.3
    • Update to 8.20.0~ds+~cs7.2.4-1
    Published Updated
  12. CVE-2026-110180

    Medium · CVSS 4.8EPSS 0.26%Fix available

    fast-uri vulnerable to host confusion via unchecked WHATWG host canonicalization

    fast-uri is a dependency-free RFC 3986 URI parser and serializer for Node.js. In versions from 2.4.2 through 2.4.7, from 3.1.3 through 3.1.8, and from 4.0.1 through 4.2.2, for HTTP-family schemes the canonicalizeHost() function passes the parsed host to the WHATWG URL parser and adopts its hostname without checking that the parser consumed the entire input as a host, so the authority can be silently rewritten: data before an at-sign is dropped and tab, carriage-return, and line-feed characters are stripped, with no error reported. An application that enforces host-based policy such as denylists, loopback filtering, redirect validation, or out

    • Update to 2.4.8
    • Update to 3.1.9
    • Update to 4.2.3
    • Update to 8.20.0~ds+~cs7.2.4-1
    Published Updated
  13. CVE-2026-110095

    Low · CVSS 3.7EPSS 0.29%Fix available

    fast-uri vulnerable to improper path equivalence in relative reference normalization

    fast-uri is a dependency-free RFC 3986 URI parser and serializer for Node.js. In versions before 2.4.8, from 3.0.0 through 3.1.8, and from 4.0.0 through 4.2.2, the normalize() and serialize() functions apply RFC 3986 dot-segment removal to the path of a relative-path reference, even though that algorithm is defined only for the merged target path during resolution, so a leading parent-directory segment can be dropped and a document-relative reference can become root-relative. An application that normalizes an attacker-supplied or user-supplied relative reference and then resolves it, or uses it as a cache, deduplication, or authorization key,

    • Update to 2.4.8
    • Update to 3.1.9
    • Update to 4.2.3
    • Update to 8.20.0~ds+~cs7.2.4-1
    Published Updated
  14. CVE-2026-111766

    Low · CVSS 3.7EPSS 0.43%Public exploitFix available

    markdown-it: Quadratic-time denial of service in inline HTML parsing with html enabled

    markdown-it is a Markdown parser. Prior to 14.3.3 and 15.0.3, when the html option or commonmark preset is enabled and the constructs occur inside a paragraph, attacker-controlled Markdown containing repeated unterminated inline HTML comments, processing instructions, declarations, or CDATA sections reaches src/rules_inline/html_inline.ts. Its HTML_TAG_RE match searches the remaining suffix for the appropriate terminator; when no terminator is present, parsing advances to the next opener and repeats the match over overlapping input, causing quadratic processing and denial of service through event-loop blocking or an unresponsive browser main

    • Update to 14.3.3
    • Update to 15.0.3
    Published Updated
  15. CVE-2026-111759

    High · CVSS 7.5EPSS 0.59%Fix available

    markdown-it: Quadratic complexity in smartquotes with unmatched closing quotes

    markdown-it is a Markdown parser. Prior to 14.3.2 and 15.0.2, when typographer: true is enabled, specially crafted Markdown can cause quadratic processing time in the smartquotes rule, potentially leading to denial of service in applications processing untrusted input. Many opening double quotes followed by unmatched closing single quotes cause repeated scans of the entire opener stack. The same issue occurs with the quote types reversed. The default configuration (typographer: false) is not affected, but this option is enabled with high probability. This issue is fixed in versions 14.3.2 and 15.0.2.

    • Update to 14.3.2
    • Update to 15.0.2
    Published Updated
  16. CVE-2026-111755

    High · CVSS 8.2EPSS 0.47%Public exploitFix available

    follow-redirects sensitiveHeaders regex escaping can expose credential headers

    follow-redirects is a Node.js HTTP and HTTPS client wrapper that automatically follows redirects. From 1.16.0 until 1.16.1, escapeRegex leaves valid header-name metacharacters unescaped in sensitiveHeaders. When an application declares a sensitive header whose name contains ^ or | and follows a cross-origin or HTTPS-to-HTTP redirect, unescaped regular-expression metacharacters prevent the generated filter from matching the declared header name, and the credential header is forwarded to an attacker-controlled redirect target. This issue is fixed in version 1.16.1.

    • Update to 1.16.1
    • Update to 1.16.1+~1.14.4-1
    Published Updated
  17. CVE-2026-111997

    Medium · CVSS 6.3EPSS 0.32%Public exploitFix available

    CVE-2026-111997

    ip-address before 10.7.4 allows a denial of service (CPU consumption from quadratic complexity, and application stall) via many % characters in input reaching a function call that uses the Address6 constructor.

    • Update to 10.7.4
    Published Updated
  18. CVE-2026-76894

    Low · CVSS 3.1Fix available

    ckan-mcp-server: DataStore Table UI resource does not validate postMessage origin (in) and posts to targetOrigin "*" (out)

    ## Summary The MCP Apps UI resource (an interactive DataStore table rendered in the host's webview/iframe) communicates with its parent via `postMessage`. Its inbound `message` listener performs no `event.origin` validation, and its outbound messages are sent with target origin `'*'`. Any window/frame able to reach the document can inject data into the table and interfere with the MCP UI handshake, and the UI's own JSON-RPC messages are broadcast without an origin restriction. ## Affected code `src/resources/datastore-table-ui.ts` (inline HTML): ```js window.addEventListener('message', function (event) { var msg = event.data;

    • Update to 0.4.112
    Published Updated
  19. CVE-2026-87029

    Medium · CVSS 5.9EPSS 0.26%Fix available

    undici vulnerable to Denial of Service via unhandled exception in the decompress interceptor

    undici is an HTTP client library for Node.js. In versions 7.15.0 through 7.30.0 and 8.0.0 through 8.12.1, its decompress interceptor forwards decompressed response data to the downstream handler from zlib stream event callbacks without catching exceptions those callbacks may throw, and while undici's engine converts a synchronous throw from a downstream handler into a per-request failure, that protection is absent when the throw happens asynchronously from a zlib callback. As a result, a downstream handler that throws by design, such as the built-in dump interceptor which throws when a response exceeds its configured maximum size, escapes as

    • Update to 7.30.1
    • Update to 8.12.2
    Published Updated

Check your server

Check your installed stack and versions against the current vulnerability feeds.

Check your server →