p PatchFirst

PatchFirst · Latest vulnerabilities

Node.js stack vulnerabilities · Page 21

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

  1. CVE-2026-103288

    High · CVSS 7.1EPSS 0.2%Fix available

    Ghost 5.9.0 before 6.44.1 Authorization Bypass via Comment Like

    Ghost, an open-source publishing platform, contains an input validation flaw in its comment like feature in versions from 5.9.0 before 6.44.1. An authenticated member can delete comment likes or dislikes belonging to other users that they are not authorized to delete, resulting in an authorization bypass and unauthorized modification of comment engagement data.

    • Update to 6.44.1
    Published Updated
  2. CVE-2026-103287

    Medium · CVSS 5.1EPSS 0.2%Fix available

    Ghost 1.18.0 before 6.27.0 Server-Side Request Forgery via Webhook

    Ghost versions 1.18.0 before 6.27.0 contain a server-side request forgery vulnerability in the webhooks feature that allows staff users to probe internal hosts. Attackers with staff privileges can craft webhook requests to access internal network resources from the Ghost server.

    • Update to 6.27.0
    Published Updated
  3. CVE-2026-102992

    Critical · CVSS 9.2EPSS 0.51%Fix available

    piscina: Prototype-pollution gadget in ThreadPool.options allows RCE via execArgv / loadBalancer / env

    piscina is a node.js worker pool implementation. Prior to 4.9.4, 5.3.2, and 6.0.0-rc.5, Piscina stores ThreadPool.options in src/index.ts as a plain object that inherits from Object.prototype. Applications with a separate prototype-pollution primitive can therefore supply inherited values for security-sensitive options that do not have own defaults. An inherited execArgv value is passed to the Node.js Worker constructor and can preload attacker-controlled code in worker threads, an inherited loadBalancer function can execute during task scheduling, and inherited env values can alter worker environments. This issue is fixed in versions 4.9.4,

    • Update to 4.9.4
    • Update to 5.3.2
    • Update to 6.0.0-rc.5
    Published Updated
  4. CVE-2026-102990

    High · CVSS 8.2EPSS 0.37%Fix available

    basic-ftp: Quadratic-time CPU denial of service in Client.list() Unix directory-listing parser (RE_LINE backtracking)

    basic-ftp is an FTP client for Node.js. Prior to 6.2.1, Client.list() can be forced by a malicious or compromised FTP server to spend quadratic CPU time parsing a directory listing because the RE_LINE expression in src/parseListUnix.ts backtracks across adjacent variable-length owner and group fields when a long Unix-style line has a valid prefix but cannot satisfy the later size and date fields. parseList() selects a parser from the last nonblank line and then applies it to every line, so a normal final line can select the Unix parser while an earlier crafted line blocks the Node.js event loop and freezes the process. This issue is fixed in

    • Update to 0~2025070717+~cs16.2.9-1
    • Update to 6.2.1
    Published Updated
  5. CVE-2026-55177

    High · CVSS 7.6EPSS 0.38%Fix available

    CloudTAK: Authenticated full-read SSRF in /api/esri* routes — user-controlled URL fetched with no IP-classification guard

    CloudTAK is a browser-based Common Operating Picture and situational awareness tool compatible with TAK. Prior to version 13.10.0, every route in the ESRI helper family (api/routes/esri.ts) takes a fully attacker-controlled URL from the request (POST /api/esri body url, and the portal / server / layer query parameters on the GET /api/esri/* routes) and passes it into EsriBase / EsriProxyPortal / EsriProxyServer / EsriProxyLayer in api/lib/esri.ts, which fetch it with the bare fetch from @tak-ps/etl. No IP / DNS / hostname classification is applied at any point, so the destination is never validated against private, loopback, or link-local ran

    • Update to 13.10.0
    Published Updated
  6. CVE-2026-94545

    Medium · CVSS 5.3EPSS 1.08%Public exploitFix available

    Satori-generated SVG has improper escaping

    Satori is a library to convert HTML and CSS to SVG. Starting in version 0.0.27 and prior to version 0.33.5, Satori does not properly escape certain values before including them in generated SVG output. This can allow crafted values to be interpreted as SVG markup. The impact depends on how the generated SVG is consumed. Version 0.33.5 contains a patch. No complete workaround exists besides upgrading. Applications that cannot immediately upgrade should not render attacker-controlled content with Satori.

    • Update to 0.33.5
    Published Updated
  7. GHSA-vcvr-r3jv-pc5j

    Critical · CVSS 9.5Fix available

    Next.js: Remote Code Execution in next/og ImageResponse

    ## Impact The Node.js `ImageResponse` implementation from `next/og` is affected by an upstream vulnerability. This can lead to remote code execution. Affected applications pass attacker-controlled values into SVG content, attributes, or styles during image generation: ```tsx import { ImageResponse } from 'next/og' export async function GET(request: Request) { const value = new URL(request.url).searchParams.get('value') ?? '' return new ImageResponse( <svg width="1200" height="630"> <title>{value}</title> </svg> ) } ``` Applications using the Edge `ImageResponse` implementation, or applications that do not pass attack

    • Update to 16.3.6
    Published Updated
  8. GHSA-96h4-vgxj-gvm2

    Medium · CVSS 6.5Fix available

    Nest: Unbounded memory growth in the NestJS TCP microservice transport

    ## Summary A peer that can open a TCP connection to a NestJS microservice using the built-in TCP transport can make the server process allocate memory without limit, on either side of the connection, until the process is killed by the OS or by its container memory limit. No authentication, no credentials, and no valid message are required. Applications are affected only if they start a microservice with `Transport.TCP` and the transport's port is reachable by an untrusted peer. ## Affected versions | Package | Affected | Patched | |---|---|---| | `@nestjs/microservices` | `>= 12.0.0, < 12.0.3` | **12.0.3** | | `@nestjs/microservices` | `

    • Update to 11.2.5
    • Update to 12.0.3
    Published Updated
  9. GHSA-9c5c-9qcx-q35q

    High · CVSS 7.4Fix available

    @nestjs/platform-fastify: Path-scoped middleware bypass via absolute-form request targets

    | Field | Value | | --- | --- | | Ecosystem | npm | | Package | `@nestjs/platform-fastify` | | Affected versions | `>= 12.0.0, < 12.0.2` and `< 11.2.4` | | Patched versions | `12.0.2` and `11.2.4` (upgrade to `12.0.3` / `11.2.5`) | ### Summary On the Fastify adapter, an HTTP request that uses an **absolute-form request target** (`GET http://host/path HTTP/1.1` instead of `GET /path HTTP/1.1`) reaches the route handler without running the path-scoped Nest middleware bound to that route. Applications that enforce authentication or authorization in middleware execute the protected handler with those checks skipped. ### Impact Any application

    • Update to 11.2.4
    • Update to 12.0.2
    Published Updated
  10. CVE-2026-102984

    High · CVSS 8.2EPSS 0.36%Fix available

    Astro: Malformed port in the Host header can crash the Node adapter

    Astro is a web framework for content-driven websites. Prior to 11.1.3, the @astrojs/node adapter builds a request URL from the Host header, and a malformed port can make that URL invalid. The recovery path reuses the same malformed host and throws an uncaught TypeError: Invalid URL before routing begins. In the default standalone configuration, the request returns an HTTP 500 response and the server continues running, but when staticHeaders is enabled the synchronous handler does not catch the exception and the Node process terminates. Proxies and CDNs that reject malformed Host headers prevent this path from reaching the origin. The issue af

    • Update to 11.1.3
    Published Updated
  11. CVE-2026-102983

    Medium · CVSS 6.3EPSS 0.31%Fix available

    Astro: Netlify Image CDN allowlist bypass enables SSRF

    Astro is a web framework for content-driven websites. From 5.2.0 until 8.2.4, the @astrojs/netlify adapter generates regular expressions for Netlify Image CDN remote-image allowlists without anchoring them to the beginning of the URL. Because Netlify evaluates these expressions with RegExp.test(), an allowed origin appearing only in a source URL's path or query can satisfy image.domains or image.remotePatterns while the URL's actual host remains attacker-controlled. An unauthenticated request to the public /.netlify/images endpoint can therefore cause the Image CDN to request attacker-selected URLs and may probe or reach internal services. Ne

    • Update to 8.2.4
    Published Updated
  12. CVE-2026-102829

    Critical · CVSS 9.2EPSS 0.27%Public exploitFix available

    simple-git: `VISUAL` editor environment variable is omitted from unsafe editor detection

    simple-git, an interface for running git commands in any node.js application, enables applications to execute Git operations from JavaScript. Prior to 2.0.1 of the argv-parser package, parseEnv omits VISUAL from GitEnvKeys, so prepareEnv drops the value before vulnerabilityCheck can classify it as allowUnsafeEditor. A consuming application that forwards attacker-influenced environment values can therefore allow Git to invoke an attacker-selected editor during operations such as commit amendment or interactive rebase when no higher-priority editor setting overrides VISUAL and Git's terminal prerequisites are met. The executable runs with the p

    • Update to 2.0.1
    Published Updated
  13. CVE-2026-102828

    Critical · CVSS 9.2EPSS 0.37%Fix available

    simple-git unsafe-operation guard does not block trailer command configuration

    simple-git, an interface for running git commands in any node.js application, enables applications to execute Git operations from JavaScript. From 3.15.0 until 4.0.1, the default blockUnsafeOperationsPlugin does not classify trailer.<token>.cmd as unsafe configuration. An application that passes attacker-controlled values through SimpleGitOptions.config or inline -c arguments can therefore allow Git to invoke an attacker-selected shell command when git interpret-trailers processes the configured trailer. The command executes with the operating-system identity and permissions of the Node.js process. This issue is fixed in 4.0.1.

    • Update to 4.0.1
    Published Updated
  14. CVE-2026-102827

    High · CVSS 8.1EPSS 0.58%Fix available

    simple-git: unsafe-operations plugin bypass via git long-option abbreviation (--receive-p/--exe) -> command execution (residual of CVE-2026-28291)

    simple-git, an interface for running git commands in any node.js application, enables applications to execute Git operations from JavaScript. Prior to 4.0.0, the default blockUnsafeOperationsPlugin compares parsed option names with literal dangerous option spellings while Git accepts unambiguous long-option abbreviations. Attacker-influenced push arguments such as abbreviated --receive-pack or --exec forms can therefore bypass detectVulnerableFlags, reach git push against a local or file remote or an attacker-influenced receive-pack target, and cause Git to invoke an attacker-selected command in consumers that expose those arguments. The clon

    • Update to 4.0.0
    Published Updated
  15. CVE-2026-102826

    High · CVSS 8.1EPSS 0.46%Public exploitFix available

    simple-git allows command execution through unblocked Git configuration includes

    simple-git, an interface for running git commands in any node.js application, enables applications to execute Git operations from JavaScript. Prior to 4.0.0, the default blockUnsafeOperationsPlugin does not completely reject configuration includes supplied through customArgs to git.clone(). The missing include.path classification permits Git to load an attacker-controlled configuration file, and the initial remediation does not cover includeIf.<condition>.path, allowing the same file-loading primitive through a conditional include. A loaded configuration can set an executable Git option such as core.sshCommand, which Git invokes during the cl

    • Update to 4.0.0
    Published Updated
  16. GHSA-253c-mchw-3w2r

    Medium · CVSS 6.3Fix available

    markdown-it linkify: true has two quadratic paths, so a few hundred KB of markdown blocks the event loop for tens of seconds

    ## Summary Two independent quadratic paths in the `linkify: true` handling. Both are in markdown-it's own code rather than in linkify-it, which stays linear on both payloads. `src/rules_core/linkify.ts` calls `arrayReplaceAt` once per linkified text token, and that rebuilds the whole `children` array each time. A paragraph of N soft-broken lines is one inline token with about 2N children, so you get N rebuilds over a 2N array. Schema-less emails are what reach it. A `http://` link gets consumed by the inline rule first and never arrives as a text token, so those stay linear. `src/rules_inline/linkify.ts` runs `state.pending.match(SCHEME_RE

    • Update to 14.3.1
    • Update to 15.0.1
    Published Updated
  17. GHSA-r3ph-w7gj-g6xm

    Medium · CVSS 5.3Fix available

    js-yaml: maxTotalMergeKeys does not limit CPU use for empty merge sources

    ## Summary `maxTotalMergeKeys` does not count empty mappings. An attacker can repeatedly merge a large sequence of them and consume significant CPU without reaching the configured limit. ## Example ```yaml arr: &arr [{}, {}, {}, ...] # N empty mappings targets: - <<: *arr # repeated K times ``` For every target, the loader iterates all `N` elements of `arr`. This results in `O(N * K)` work while `totalMergeKeys` remains unchanged. ## PoC ```js import { performance } from 'node:perf_hooks' import { load, YAML11_SCHEMA } from 'js-yaml' const n = 20000 const src = 'arr: &arr [' + '{},'.repeat(n).slice(0, -1) + ']\n' +

    • Update to 5.4.1
    Published Updated
  18. CVE-2026-102677

    High · CVSS 7.8EPSS 0.1%Fix available

    Electron: Sandboxed preload code cache can be poisoned by a compromised renderer

    Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. From 42.3.3 until 42.10.0, 43.5.0, and 44.0.0-beta.6, Electron's sandboxed preload code cache did not verify that a cached entry matched the preload it was served for. A compromised renderer could write attacker-controlled cache data and cause Electron to reuse it for a later load, executing the renderer's code in the more privileged preload context. The issue affects applications that load untrusted content. This issue is fixed in versions 42.10.0, 43.5.0, and 44.0.0-beta.6.

    • Update to 42.10.0
    • Update to 43.5.0
    • Update to 44.0.0-beta.6
    Published Updated
  19. CVE-2026-102676

    High · CVSS 8.3EPSS 0.48%Fix available

    Electron: <webview> can enable Node.js integration in Web Workers despite embedder restrictions

    Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to 41.10.6, 42.9.2, 43.4.1, and 44.0.0-beta.5, an Electron <webview> guest could enable nodeIntegrationInWorker for its Web Workers even when the unsandboxed embedder had Node.js integration disabled, allowing untrusted guest content to create a Node-enabled worker with more privilege than the embedder granted. Applications that do not enable the <webview> tag or that keep the embedder sandboxed are not affected. This issue is fixed in versions 41.10.6, 42.9.2, 43.4.1, and 44.0.0-beta.5.

    • Update to 41.10.6
    • Update to 42.9.2
    • Update to 43.4.1
    • Update to 44.0.0-beta.5
    Published Updated
  20. CVE-2026-102675

    High · CVSS 7.4EPSS 0.21%Fix available

    Electron: File and HTTP protocol handlers allow cross-origin reads without corsEnabled

    Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to 41.10.6, 42.9.2, 43.4.1, and 44.0.0-beta.5, responses served through protocol.registerFileProtocol or protocol.registerHttpProtocol for a custom scheme registered with supportFetchAPI enabled but corsEnabled disabled could remain script-readable across origins. This residual issue completes the remediation for CVE-2026-70604. Applications are affected only when they expose such a scheme and load untrusted content in the same session. Schemes intentionally registered with corsEnabled enabled remain cross-origin readable by design. T

    • Update to 41.10.6
    • Update to 42.9.2
    • Update to 43.4.1
    • Update to 44.0.0-beta.5
    Published Updated

Check your server

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

Check your server →