p PatchFirst

PatchFirst · Latest vulnerabilities

Node.js stack vulnerabilities · Page 18

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-105649

    High · CVSS 7.3EPSS 0.3%Fix available

    Ghost: Stored XSS via SVG Uploads Bypassing Sanitization

    Ghost is a Node.js content management system. From 4.22.0 until 6.65.0, SVG media thumbnails and SVG images uploaded with a non-SVG file extension were stored without sanitization. This allowed any staff user, including Contributors, to host scripts on the site's domain, possibly resulting in compromise of other staff users' admin sessions. This issue is fixed in version 6.65.0.

    • Update to 6.65.0
    Published Updated
  2. CVE-2026-105648

    Medium · CVSS 4EPSS 0.3%Fix available

    Ghost: Private IP Filtering Bypass via IPv6 Transition Addresses

    Ghost is a Node.js content management system. From 6.0.9 until 6.65.0, a validation issue allowed some functionality, such as Webmentions, to be abused by an unauthenticated user to make limited HTTP requests to hosts in the Ghost server's internal network on some network configurations. A successful attack would not result in any response data being returned. This issue is fixed in version 6.65.0.

    • Update to 6.65.0
    Published Updated
  3. CVE-2026-105647

    Medium · CVSS 4EPSS 0.24%Fix available

    Ghost: Server-Side Request Forgery in Bookmark Fetching

    Ghost is a Node.js content management system. From 6.54.1 until 6.65.0, a validation issue allowed some functionality, such as Webmentions, to be abused by an unauthenticated user to make limited HTTP requests to hosts in the Ghost server's internal network. A successful attack would not result in any response data being returned. This issue is fixed in version 6.65.0.

    • Update to 6.65.0
    Published Updated
  4. CVE-2026-105646

    Medium · CVSS 4.9EPSS 0.35%Fix available

    Ghost: Regular Expression Denial of Service in Content Import

    Ghost is a Node.js content management system. From 4.0.0 until 6.67.0, a crafted content import file could cause excessive CPU usage, making the Ghost server unresponsive. Exploiting this requires Administrator access. This issue is fixed in version 6.67.0.

    • Update to 6.67.0
    Published Updated
  5. CVE-2026-105645

    Medium · CVSS 4.9EPSS 0.35%Fix available

    Ghost: Regular Expression Denial of Service in External Media Inliner

    Ghost is a Node.js content management system. From 5.37.0 until 6.67.0, a crafted request to the external media inliner could cause excessive CPU usage, making the Ghost server unresponsive. Exploiting this requires Administrator access. This issue is fixed in version 6.67.0.

    • Update to 6.67.0
    Published Updated
  6. CVE-2026-105644

    Medium · CVSS 6.8EPSS 0.32%Fix available

    Ghost: Stored XSS via SVG Files in Content Imports

    Ghost is a Node.js content management system. From 4.0.0 until 6.67.0, SVG images included in content imports were stored without sanitization. An attacker who convinced an Administrator to import a crafted file could host scripts on the site's domain, possibly resulting in compromise of staff users' admin sessions. This issue is fixed in version 6.67.0.

    • Update to 6.67.0
    Published Updated
  7. CVE-2026-105643

    High · CVSS 7.3EPSS 0.28%Fix available

    Ghost: Stored XSS via Embed Card Previews

    Ghost is a Node.js content management system. From version 6.34.0 until 6.67.0, embed cards in the Ghost editor could bypass protections against stored cross-site scripting. Any staff user, including Contributors, could store scripts in post content that ran when another staff user opened the post in the editor, potentially compromising that user’s admin session. Self-hosted sites should leave the new  security.embedPreviewUrl  configuration option at its default value. This issue is fixed in version 6.67.0.

    • Update to 6.67.0
    Published Updated
  8. CVE-2026-105642

    High · CVSS 8.8EPSS 0.27%Fix available

    Ghost: Remote Code Execution via Bookmark Card Images

    Ghost is a Node.js content management system. From 6.56.0 until 6.67.0, an image processing library bundled with Ghost contained a vulnerability in its SVG handling. Any staff user, including Contributors, could create a bookmark card for an attacker-controlled website, resulting in arbitrary commands being run on the Ghost server. This issue is fixed in version 6.67.0.

    • Update to 6.67.0
    Published Updated
  9. CVE-2026-102282

    High · CVSS 7.1EPSS 0.2%Public exploitFix available

    adm-zip extraction preserves SUID/SGID bits from untrusted ZIPs -> local privilege escalation

    adm-zip is a JavaScript library for creating and extracting ZIP archives in Node.js. Prior to 0.6.1, adm-zip applies the Unix permission bits stored in a zip entry directly to the extracted file via `fs.chmodSync()` when `keepOriginalPermission=true` is passed to `extractAllTo()`/`extractEntryTo()` — and it never filters the setuid/setgid/sticky bits out of those bits. A zip crafted by an attacker can therefore produce an extracted binary with mode `04755`. When extraction runs as root (the default posture in Docker builds, CI runners, and privileged install steps — the exact environments where this flag is used), the resulting root-owned set

    • Update to 0.6.1
    Published Updated
  10. CVE-2026-104891

    High · CVSS 7.5EPSS 0.28%Fix available

    mppx-condition-gate: Free-access path grants on a self-declared wallet without proving control

    mppx-condition-gate provides conditional free-access wrappers for mppx payment methods. Prior to @insumermodel/mppx-condition-gate 3.0.0 and @insumermodel/mppx-token-gate 1.0.4, the packages read a wallet address from the client-supplied credential.source, checked whether that public address met configured on-chain conditions, and returned a successful free-access receipt without invoking the wrapped payment verifier or proving that the caller controlled the wallet. An unauthenticated attacker could name any qualifying wallet and obtain content that should require payment, and cached grants could be reused for the configured cache lifetime. T

    • Update to 1.0.4
    • Update to 3.0.0
    Published Updated
  11. GHSA-pp95-gc86-jq6q

    High · CVSS 7.1Fix available

    Trigger.dev: Missing Authentication in Run Replay Action Allows Cross-Organization Task Execution (IDOR)

    ### Summary The run replay `action` function at `apps/webapp/app/routes/resources.taskruns.$runParam.replay.ts` has no authentication or authorization check. While the `loader` (GET) in the same file properly calls `requireUser(request)` and scopes queries to the user's organizations, the `action` (POST) at line 166 does neither — allowing any authenticated user to replay task runs from any organization by knowing the run's `friendlyId`. ### Details **Vulnerable file:** `apps/webapp/app/routes/resources.taskruns.$runParam.replay.ts` **The `loader` (line 28-29) — properly authenticated:** ```typescript export async function loader({ reques

    • Update to 4.5.2
    Published Updated
  12. CVE-2026-103918

    Medium · CVSS 6.5EPSS 0.25%Fix available

    @orpc/zod: Prototype injection in smart coercion

    oRPC is a tool that helps build APIs that are end-to-end type-safe and adhere to OpenAPI standards. Prior to 1.14.10, the @orpc/zod ZodSmartCoercionPlugin and experimental_ZodSmartCoercionPlugin collect object and record properties in plain objects and resolve shape keys through the prototype chain. A remote client that can reach a procedure with an object or record input can supply __proto__ to replace the prototype of the returned request object, allowing attacker-controlled inherited values to reach application lookups. For object schemas, keys such as constructor, toString, and __proto__ can instead resolve inherited members as Zod schema

    • Update to 1.14.10
    Published Updated
  13. CVE-2026-104872

    Medium · CVSS 5.8EPSS 0.24%Fix available

    Multiple @opentelemetry/instrumentation-* packages expose database username via unconditional db.user span attribute

    OpenTelemetry JavaScript Contrib provides instrumentation libraries for collecting telemetry from JavaScript applications. Prior to versions 0.66.0 of @opentelemetry/instrumentation-cassandra-driver, 0.65.0 of @opentelemetry/instrumentation-knex, 0.67.0 of @opentelemetry/instrumentation-mongoose, @opentelemetry/instrumentation-mysql, and @opentelemetry/instrumentation-mysql2, 0.46.0 of @opentelemetry/instrumentation-oracledb, 0.73.0 of @opentelemetry/instrumentation-pg, and 0.40.0 of @opentelemetry/instrumentation-tedious, the packages add the database connection username to every instrumented database operation as the db.user span attribute.

    • Update to 0.40.0
    • Update to 0.46.0
    • Update to 0.65.0
    • Update to 0.66.0
    • Update to 0.67.0
    • Update to 0.73.0
    Published Updated
  14. CVE-2026-104871

    Medium · CVSS 6.3EPSS 0.42%Fix available

    Angular SSR: Path Traversal to Sibling Directories in CommonEngine on Windows

    The Angular SSR is a server-rise rendering tool for Angular applications. Prior to versions 20.3.36, 21.2.23, and 22.1.7, the CommonEngine retrieveSSGPage prerendered-page retrieval logic in @angular/ssr/node, and in @angular/ssr for versions 17 through 18, accepts a relative request URL containing a backslash parent-traversal segment on Windows. The non-special resolve:// URL base preserves the backslash, path.join interprets it as a Windows separator, and the pagePath.startsWith(normalize(publicPath)) check incorrectly accepts a sibling output directory whose name shares the configured public-directory prefix. An unauthenticated requester c

    • Update to 20.3.36
    • Update to 21.2.23
    • Update to 22.1.7
    Published Updated
  15. CVE-2026-104861

    High · CVSS 7.5EPSS 0.43%Fix available

    probe-image-size: Quadratic-time Denial of Service in the SVG Parser

    probe-image-size gets image dimensions without downloading the entire file. Prior to 7.4.0, lib/parse_sync/svg.js and lib/parse_stream/svg.js use the searching regular expression /<[-_.:a-zA-Z0-9][^>]*>/, which repeatedly scans to the end of input when attacker-controlled data contains many less-than characters without a closing greater-than character. The synchronous parser converts and scans the full supplied buffer without an input cap, while the streaming parser reparses the complete accumulated SVG prefix for every received chunk. The probe.sync(), probe(stream), and probe(url) entry points can therefore block the Node.js event loop at f

    • Update to 7.4.0
    Published Updated
  16. CVE-2026-104859

    High · CVSS 7.3EPSS 0.15%Fix available

    Nx: OS command injection in the @nx/docker release pipeline

    Nx is a monorepo solution for TypeScript and polyglot codebases. From 21.4.0 until 22.7.8 and from 23.0.0 until 23.1.1, the @nx/docker release pipeline builds docker tag, image lookup, and docker push invocations as shell command strings. The release.docker.repositoryName and registryUrl configuration values are interpolated into those strings and passed to /bin/sh -c, allowing shell syntax in untrusted Nx configuration to execute during nx release version or nx release publish. A pull request or repository configuration change can therefore execute commands with the release job's privileges and expose registry credentials or cloud tokens, an

    • Update to 22.7.8
    • Update to 23.1.1
    Published Updated
  17. CVE-2026-104854

    High · CVSS 8.5EPSS 0.14%Fix available

    Nx daemon and plugin worker sockets are accessible to other local users

    Nx is a monorepo solution for TypeScript and polyglot codebases. From 14.6.0 until 22.7.9 and 23.1.2, Nx creates Unix domain sockets for its daemon and isolated plugin workers in shared temporary locations without owner-only directory and socket permissions. Another unprivileged local account on a shared build server, developer host, or multi-user container can discover and connect to a running socket because the transport performs no authentication and relies on filesystem containment. The daemon's PROCESS_IN_BACKGROUND request accepts a module path and invokes its default export, allowing a caller that controls a file to execute code as the

    • Update to 22.7.9
    • Update to 23.1.2
    Published Updated
  18. CVE-2026-104853

    Medium · CVSS 5.8EPSS 0.17%Fix available

    Nx: Path traversal in nx migrate package-migrations extraction

    Nx is a monorepo solution for TypeScript and polyglot codebases. From 13.10.0 until 22.7.10 and 23.2.1, Nx migration planning reads the nx-migrations.migrations value from a target package manifest without validating that it is a contained relative path. A hostile direct dependency or a package introduced through a trusted package's packageGroup can supply .. segments or an absolute path, causing nx migrate to join an escaping destination onto its temporary directory. The migration archive can then write attacker-controlled bytes outside the temporary directory, while opening the destination stream can truncate an existing writable file even

    • Update to 22.7.10
    • Update to 23.2.1
    Published Updated
  19. CVE-2026-104849

    Critical · CVSS 9.5EPSS 0.48%Public exploitFix available

    Tinypool: Prototype Pollution Gadget to RCE in run() options

    Tinypool is a minimal Node.js worker thread pool implementation. Prior to 2.1.2, Tinypool reads filename from a caller-supplied options object in pool.run(task, options) without requiring an own property, so a polluted Object.prototype.filename can replace the intended worker module. Applications are affected only when they pass their own second-argument options object to pool.run(); calls without that argument use the trusted default options object. An attacker who can first pollute the prototype can cause the worker pool to load attacker-selected JavaScript and can read or modify task data with the host process's privileges. This issue is f

    • Update to 2.1.2
    Published Updated

Check your server

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

Check your server →