p PatchFirst

PatchFirst · Latest vulnerabilities

Node.js stack vulnerabilities · Page 2

Vulnerabilities published for Node.js in the last 30 days: 392. 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: 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: 7698

  1. CVE-2026-115477

    High · CVSS 7.1EPSS 0.35%Fix available

    obsidian-tc: Declined human-in-the-loop confirmations can permit destructive calls over HTTP

    obsidian-tc is a governed, agent-ready Model Context Protocol server for Obsidian vaults. From 1.13.0 until 1.31.4, on a Streamable HTTP deployment with `auth.jwtSecret` configured and a 2026-07-28-era client declaring `elicitation.form` support, a dispatch-gated tool call offered an `inputRequired` confirmation could still complete after the human declined or cancelled, or the elicitation response was omitted or malformed, provided the client echoed the validly bound `requestState` on resubmission. The server trusted an authentic, call-bound state as proof of approval even though that state was minted before the `elicitation/create` leg was

    • Update to 1.31.4
    Published Updated
  2. CVE-2026-115754

    Low · CVSS 2.3EPSS 0.23%Fix available

    serialize-javascript 7.0.1 before 7.1.3 XSS via unescaped </script in function body

    serialize-javascript from 7.0.1 before 7.1.3 contains a cross-site scripting vulnerability that allows attackers to break out of HTML script elements by ending serialized function source text with an unescaped </script. Attackers controlling a function's source via a spoofed toString() can combine surrounding output delimiters and later values to inject live markup such as img onerror handlers.

    • Update to 7.1.3
    Published Updated
  3. CVE-2026-115728

    High · CVSS 8.7EPSS 0.47%Fix available

    @hapi/content 6.0.1 before 6.0.3 ReDoS via Content.disposition() Parameter Parsing

    @hapi/content from 6.0.1 before 6.0.3 contains a regular expression denial of service vulnerability in Content.disposition() caused by an incomplete fix for CVE-2026-35213. Unauthenticated remote attackers can send multipart uploads with a long Content-Disposition parameter lacking an equals sign, triggering quadratic backtracking that blocks the event loop.

    • Update to 6.0.1
    • Update to 6.0.3
    Published Updated
  4. CVE-2026-115419

    High · CVSS 8.6EPSS 0.43%Fix available

    Unintended disclosure of data element to wrong session in Strands Agents SDK A2A Server

    The A2A server component in Amazon Strands Agents SDK for Python before 1.43.0 and Amazon Strands Agents SDK for TypeScript before 1.5.0 does not properly isolate conversation state between callers. An authenticated remote user could read other tenants' conversation history and add persistent instructions that alter model behavior for subsequent callers via HTTP requests to the A2A endpoint using a different context_id. To mitigate this issue, users should upgrade to strands-agents 1.43.0 (Python) or @strands-agents/sdk 1.5.0 (TypeScript).

    • Update to 1.43.0
    • Update to 1.5.0
    Published Updated
  5. GHSA-673q-mjm6-r5xr

    Not ratedFix available

    Next.js: Unauthenticated Remote Code Execution in `use cache` functions returning typed arrays

    ## Impact A vulnerability in applications using App router with Cache Component can lead to remote code execution. The application needs to have a `use cache` function that returns multiple typed arrays. ## Workaround There is no known workaround for affected applications with such `use cache` functions. You should upgrade immediately even if your application does not have similar functions.

    • Update to 16.4.1
    Published Updated
  6. CVE-2026-114604

    Not ratedPublic exploitFix available

    GraphQL Tools: Prototype pollution in mergeIncrementalResult via non-primitive path segments

    ## Report metadata | Field | Value | | --- | --- | | Package | `@graphql-tools/utils` (npm, `pkg:github/ardatan/graphql-tools`) | | Repository | https://github.com/ardatan/graphql-tools | | Component | `mergeIncrementalResult` / `setObjectKeyPath` (`packages/utils/src/mergeIncrementalResult.ts`) | | Vulnerability class | Prototype pollution (via unvalidated object path traversal) | | Verified against | Source read at `134d67ae36a559651f43ec7fe4a9da76f4a00c2b`; `master` HEAD `ccca0ff0dc8ea20726fd116b2f19a38709c30e62`; published npm builds 10.10.0, 10.10.1, 11.0.0, 12.0.0, 12.0.1 | | Affected versions | `@graphql-tools/utils` >= 10.10.1 throug

    • Update to 12.0.2
    Published Updated
  7. GHSA-cg2g-xh64-v4q7

    Not ratedFix available

    DOMPurify SAFE_FOR_TEMPLATES bypass: split template expressions survive in attached shadow root content on DOM output modes

    ## Summary When DOMPurify is configured with `SAFE_FOR_TEMPLATES: true` together with a DOM-returning mode (`RETURN_DOM: true`, `RETURN_DOM_FRAGMENT: true`, or `IN_PLACE: true`), template expressions such as `{{...}}`, `${...}`, and `<%...%>` survive sanitization inside the text content of an attached shadow root. The post-walk safety net `_scrubTemplateExpressions` (`src/purify.ts:1717`) was extended to recurse into `<template>.content`, but it never recurses into attached shadow roots. An attacker who can supply a DOM node carrying a shadow root (the `IN_PLACE` and shadow-aware `RETURN_DOM` surfaces) can split an expression across text nod

    • Update to 3.4.17
    Published Updated
  8. GHSA-mrv2-3pqr-j5jr

    Not ratedFix available

    DOMPurify IN_PLACE: hook that removes a parent or sibling leaves the detached subtree's event handlers armed (incomplete fix for GHSA-p98j-92pf-mc4p)

    ### Summary The 3.4.16 fix for GHSA-p98j-92pf-mc4p only covers a hook that removes the node it was called for. If an `IN_PLACE` hook removes a different node, like the current node's parent or a sibling that has not been visited yet, that subtree is never walked or neutralized. Event handlers in it stay on the elements, and an `<img onerror>` that was already loading fires after `sanitize()` returns. The README says: "Nodes that a hook detaches from the tree ... are treated as removed. In IN_PLACE mode their subtree is neutralized inline, so an `<img onload>` that was already loading when you built the live tree cannot fire after `sanitize(

    • Update to 3.4.17
    Published Updated
  9. GHSA-c6gr-qvv4-5v3f

    Not ratedFix available

    DOMPurify: SMIL attributeName=href guard is skipped when PARSER_MEDIA_TYPE is application/xhtml+xml

    ### Summary DOMPurify drops `attributeName` attributes whose value contains `href`, so an allowed `<animate>` or `<set>` can't rewrite a link's href after sanitizing. The check compares the attribute name after `transformCaseFunc`, and that function doesn't lowercase in XHTML mode. In XHTML the attribute is spelled `attributeName`, so the comparison with `"attributename"` never matches and the guard does nothing. An app that uses `PARSER_MEDIA_TYPE: 'application/xhtml+xml'` and allows `animate` and `attributeName` will keep `<animate attributeName="href" values="x;javascript:alert(1)">`. Clicking the parent link then runs the script. This

    • Update to 3.4.17
    Published Updated
  10. GHSA-2464-fhr4-w9xw

    Not ratedFix available

    Next.js: Unauthenticated Remote Code Execution in Image Optimization API when SVG files are used

    ## Impact A memory-related vulnerability has been discovered in an upstream library used for Image Optimization can lead to possible remote code execution (RCE) when Next.js runs on glibc-based Linux. ## Workaround Ensure the version of `sharp` used by Next.js is greater than or equal to `0.35.5`. Fresh installs automatically get a fixed version of `sharp`. Upgrading Next.js to the patched versions will ensure package managers automatically provide a fixed version of `sharp` to Next.js.

    • Update to 15.5.28
    • Update to 16.4.1
    Published Updated
  11. CVE-2026-94482

    High · CVSS 8.2EPSS 0.36%Fix available

    Next.js: Denial of Service in App Router using Server Actions

    Next.js is a React framework for building full-stack web applications. From 13.0.0 until 15.5.28 and 16.4.1, crafted requests targeting App Router applications with at least one Server Action can cause excessive CPU consumption and block processing of further requests in the same process. Applications using the Pages Router and App Router applications without Server Actions are not affected. This issue is fixed in versions 15.5.28 and 16.4.1.

    • Update to 15.5.28
    • Update to 16.4.1
    Published Updated
  12. CVE-2026-111181

    High · CVSS 7.5EPSS 0.39%Fix available

    body-parser vulnerable to Denial of Service via trailing bytes after a compressed request body

    body-parser is body parsing middleware for Node.js and Express. In versions before 1.20.9 and in versions from 2.0.0 before 2.4.0, a single request can crash any application using body-parser with default options. When a request carries a Content-Encoding such as gzip, body-parser pipes it into a decompression stream and, after reading the body, leaves that stream with no error listener. A payload of one valid compressed frame followed by trailing bytes decodes and the application responds normally, but the trailing bytes then reach the already-finished decoder, which emits an error that is re-thrown as an uncaught exception and terminates th

    • Update to 1.20.9
    • Update to 2.4.0
    Published Updated
  13. CVE-2026-113872

    High · CVSS 7.5EPSS 0.44%Public exploitFix available

    multer vulnerable to Denial of Service via a pending asynchronous fileFilter after request teardown

    multer is a middleware for Node.js that handles multipart/form-data file uploads. In versions from 2.0.0 before 2.5.0, when multer is configured with an asynchronous fileFilter, a single request can crash the Node.js process. If the request is aborted while one file's asynchronous fileFilter is still pending, the pending callback later resumes a parsing stream that multer has already torn down, and the underlying parser emits an error on a stream that no longer has an error listener, which Node raises as an unhandled error event so the process exits. Any application using multer with an asynchronous fileFilter is affected regardless of storag

    • Update to 2.5.0
    Published Updated
  14. CVE-2026-114144

    High · CVSS 7.5EPSS 0.44%Public exploitFix available

    toml-node: Uncontrolled resource consumption (CPU DoS) via unbounded-length integer literals in toml.parse()

    toml-node is a TOML parser for Node.js and the browser. Prior to 5.0.1, toml.parse() passes unbounded hexadecimal, octal, binary, and decimal digit sequences from lib/parser.js to BigInt() before reduceInteger() in lib/compiler.js checks whether the resulting value fits the TOML 64-bit integer range. Converting a sufficiently long integer string consumes super-linear CPU time and synchronously blocks the Node.js event loop, allowing one attacker-supplied TOML document to deny service to concurrent work in the process. The later range check cannot prevent the conversion cost because it executes after BigInt(). This issue is fixed in version 5.

    • Update to 5.0.1
    Published Updated
  15. CVE-2026-114143

    High · CVSS 8.7EPSS 0.36%Public exploitFix available

    toml-node: Quadratic-complexity DoS via long dotted keys or table paths in toml.parse()

    toml-node is a TOML parser for Node.js and the browser. Prior to 5.0.1, toml.parse() repeatedly slices and rejoins every path prefix in lib/compiler.js while processing long dotted keys, table headers, array-of-tables headers, and inline-table keys in assign(), deepRef(), and setNestedKey(). The resulting quadratic work can block the Node.js event loop for several seconds, and sufficiently long paths can terminate the process through memory exhaustion. The maxDepth option does not limit key-segment count and therefore does not mitigate this path. This issue is fixed in version 5.0.1.

    • Update to 5.0.1
    Published Updated
  16. CVE-2026-114142

    High · CVSS 8.8EPSS 0.4%Fix available

    toml-node: Prototype pollution: parsing a TOML document can write to Object.prototype

    toml-node is a TOML parser for Node.js and the browser. Prior to 5.0.1, toml.parse() can write attacker-controlled properties to Object.prototype because quoteDottedString() in lib/compiler.js produces the same bookkeeping string for distinct quoted key paths, allowing addTableArray() to clear another key's guard. The assign() path then descends through an unowned Date value without applying the owned-container check and can reach the prototype chain. Objects created elsewhere in the process can inherit the injected property. This issue is fixed in version 5.0.1.

    • Update to 5.0.1
    Published Updated
  17. CVE-2026-114141

    High · CVSS 8.7EPSS 0.4%Public exploitFix available

    toml-node: Quadratic-complexity DoS via many array-of-tables headers in toml.parse()

    toml-node is a TOML parser for Node.js and the browser. Prior to 5.0.1, the toml.parse() compiler's addTableArray() function in lib/compiler.js rescans the complete assignedPaths and valueAssignments bookkeeping sets for every array-of-tables header. Distinct [[name]] paths are not pruned, so a document with many such headers causes quadratic synchronous work and can block the Node.js event loop, denying service to other operations in the process. This issue is fixed in version 5.0.1.

    • Update to 5.0.1
    Published Updated
  18. CVE-2026-114139

    Critical · CVSS 9.1EPSS 0.51%Fix available

    Sentry-Javascript: Middleware Bypass when using Tunnel route

    Sentry-Javascript is an official Sentry SDKs for JavaScript. From 9.36.0 until 9.47.2, 10.75.2, and 11.0.0-rc.1, the webpack integration for @sentry/nextjs skips application middleware for every request path under a configured tunnelRoute, while the tunnel rewrite serves only the exact tunnel path with valid o and p query parameters. When an application route directly collides with the tunnel path or a root dynamic segment resolves under it, an unauthenticated request can reach that route without middleware authorization. Exploitation requires tunnelRoute, a webpack build, a colliding route, and middleware being the only authorization control

    • Update to 10.75.2
    • Update to 11.0.0-rc.1
    • Update to 9.47.2
    Published Updated
  19. CVE-2026-114133

    Medium · CVSS 5.4EPSS 0.22%Fix available

    Nuxt server islands render `useHeadSafe` input without sanitisation

    Nuxt is an open-source web development framework for Vue.js. From 3.13.0 until 4.6.2, the server-island renderer serializes raw useHeadSafe entry input into the island response without preserving the safe-input marker, and NuxtIsland later inserts that input into the page head as an ordinary entry. An application that passes attacker-controlled data to useHeadSafe in a .server.vue component or page, or in a component rendered through NuxtIsland, can therefore render values normally removed by the allowlist, including event-handler attributes or executable script content, resulting in stored cross-site scripting in the application origin. This

    • Update to 4.6.2
    Published Updated
  20. CVE-2026-114132

    Medium · CVSS 6.3EPSS 0.42%Fix available

    Nuxt: Server-side route rules (`redirect`, `headers`, `proxy`, `ssr`) are skipped for case-variant paths when routing is case-insensitive

    Nuxt is an open-source web development framework for Vue.js. Prior to 4.6.2, Nuxt resolves pages case-insensitively by default while Nitro matches server-side route-rule keys case-sensitively, allowing a request whose path differs only by letter case to render without the server rule intended for that page. The mismatch can skip redirect, headers, proxy, ssr: false, and noScripts, and can cause getRouteRules(event) and matchRouteRules to return no rule for the case variant. Applications that set router.options.sensitive: true in nuxt.config are not affected; setting sensitive only in app/router.options.ts does not establish this exclusion bec

    • Update to 4.6.2
    Published Updated

Check your server

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

Check your server →