p PatchFirst

PatchFirst · Latest vulnerabilities

Node.js stack vulnerabilities · Page 85

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

  1. CVE-2026-53820

    Medium · CVSS 6.9EPSS 0.09%Fix available

    OpenClaw < 2026.5.12 - Exec Denylist Bypass in Bundle MCP Loopback Session Spawn

    OpenClaw before 2026.5.12 contains an exec denylist bypass vulnerability in the bundle MCP loopback session-spawn path that allows authenticated callers to bypass intended command restrictions. Attackers can reach the affected bundled MCP session-spawn path to start sessions with broader command reach than intended.

    • Update to 2026.5.12
    Published Updated
  2. CVE-2026-53609

    Critical · CVSS 9.1EPSS 0.35%Fix available

    Apostrophe has Server-Side Prototype Pollution in apos.util.set via patch operators that leads to process-wide authorization bypass

    ApostropheCMS is an open-source Node.js content management system. In versions up to and including 4.30.0, `apos.util.set()` traverses dot-notation paths without sanitizing `__proto__`, allowing an authenticated editor to write arbitrary values to `Object.prototype` via the `$pullAll` patch operator. A confirmed gadget in `publicApiCheck()` causes this to bypass authorization on all piece-type REST API endpoints for every subsequent unauthenticated request, for the lifetime of the Node.js process. As of time of publication, no known patched versions are available.

    • Update to 4.31.0
    Published Updated
  3. CVE-2026-53608

    High · CVSS 8.7EPSS 0.26%Fix available

    @apostrophecms/seo Vulnerable to Stored XSS via Unsanitized Google Analytics / GTM ID Injected into Script Tag

    ApostropheCMS is an open-source Node.js content management system. Versions up to and including 1.4.2 of the `@apostrophecms/seo` package injects the Google Analytics Tracking ID (`seoGoogleTrackingId`) and Google Tag Manager ID (`seoGoogleTagManager`) directly into `<script>` tag bodies using JavaScript template literals without any sanitization or validation. Any user with editor-level access (the default role for content managers) can set these fields to a malicious value, resulting in stored XSS that executes on every page for every visitor of the site. As of time of publication, no known patched versions are available.

    • Update to 1.5.0
    Published Updated
  4. CVE-2026-53607

    Low · CVSS 3.7EPSS 0.27%Fix available

    @apostrophecms/file pretty-URL Vulnerable to Unauthenticated SSRF via Host header

    ApostropheCMS is an open-source Node.js content management system. In versions up to and including 4.30.0, when `prettyUrls: true` is enabled on `@apostrophecms/file` (a documented SEO feature for serving uploaded files at clean URLs), the public pretty-URL handler builds the upstream URL using the raw `Host` HTTP request header. That URL is then `fetch`'ed and the response body + headers are streamed straight back to the requester. Because `Host` is fully attacker-controlled, an unauthenticated remote attacker can pivot the apostrophe process to issue outbound HTTP requests against any host it can reach on the private network. The path compo

    • Update to 4.31.0
    Published Updated
  5. CVE-2026-53606

    Medium · CVSS 5.4EPSS 0.21%Fix available

    sanitize-html has an incomplete URI scheme validation that allows javascript: URIs through action, formaction, data, poster, and background attributes

    ApostropheCMS is an open-source Node.js content management system, and sanitize-html provides a simple HTML sanitizer with a clear API. Versions of sanitize-html prior to 2.17.5 use `allowedSchemesAppliedToAttributes` (default: `['href', 'src', 'cite']`) to gate the `naughtyHref()` function that blocks dangerous URI schemes like `javascript:` and `vbscript:`. The HTML specification defines 10+ attributes that accept URIs (`action`, `formaction`, `data`, `poster`, `background`, `ping`, `xlink:href`, `dynsrc`, `lowsrc`), but none of these are included in the default gate list. When a developer allows any of these attributes in their configurati

    • Update to 2.17.5
    Published Updated
  6. CVE-2026-45013

    High · CVSS 8.1EPSS 0.3%No fix published

    Apostrophe has a Weak Password Recovery Mechanism for Forgotten Password and Improper Input Validation

    ApostropheCMS is an open-source Node.js content management system. Versions up to and including 4.29.0 have a password reset flow that constructs the reset URL using `req.hostname`, which is derived directly from the attacker-controlled HTTP `Host` header when `apos.baseUrl` is not explicitly configured. An unauthenticated attacker who knows a victim's email address can send a crafted reset request that causes the application to email the victim a reset link pointing to the attacker's domain. When the victim clicks the link, the valid reset token is delivered to the attacker, enabling full account takeover. As of time of publication, no known

    Published Updated
  7. CVE-2026-45012

    High · CVSS 7.6EPSS 0.24%No fix published

    Apostrophe has authenticated SSRF in rich-text widget import via @apostrophecms/area/validate-widget

    ApostropheCMS is an open-source Node.js content management system. Versions up to and including 4.29.0 contain an authenticated server-side request forgery (SSRF) in the rich-text widget import flow. An authenticated user who can submit/edit rich-text widget content can cause the server to fetch attacker-controlled URLs during widget validation. For image-compatible responses, the fetched content can be persisted and re-hosted by Apostrophe, allowing response exfiltration. As of time of publication, no known patched versions are available.

    Published Updated
  8. CVE-2026-45011

    High · CVSS 7.3EPSS 0.27%No fix published

    Apostrophe has stored XSS via javascript: URL in Image Widget Link

    ApostropheCMS is an open-source Node.js content management system. Version 4.29.0 has a stored cross-site scripting vulnerability in the image widget functionality. A user with the Editor role can configure an image widget link to use a javascript: URL payload. Because editors have permission to publish pages, the malicious widget can be published to the live site. When another user, including an administrator or public visitor, clicks the affected image/link, arbitrary JavaScript executes in the victim’s browser. As of time of publication, no known patched versions are available.

    Published Updated
  9. CVE-2026-44990

    Critical · CVSS 9.3EPSS 0.68%Fix available

    Apostrophe has default XSS via `xmp` raw-text passthrough in `sanitize-html`

    ApostropheCMS is an open-source Node.js content management system, and sanitize-html provides a simple HTML sanitizer with a clear API. Under the default configuration, versions of `sanitize-html` prior to 2.17.4 can turn attacker-controlled content inside a disallowed `xmp` element into live HTML or JavaScript. This is a sanitizer bypass in the default `disallowedTagsMode: 'discard'` path and can lead to stored XSS in applications that render sanitized output back to users. Version 2.17.4 patches the issue.

    • Update to 2.17.4
    Published Updated
  10. CVE-2026-42853

    Medium · CVSS 6.5EPSS 0.54%No fix published

    @apostrophecms/cli: Command Injection in apos create via Unsanitized Password Input

    ApostropheCMS is an open-source Node.js content management system. Versions of the @apostrophecms/cli package up to and including 3.6.0 contain a command injection vulnerability in the apos create command. User-supplied input from the password prompt is embedded directly into a shell command without proper sanitization or escaping. This allows execution of arbitrary commands on the host system. As of time of publication, no known patched versions are available.

    Published Updated
  11. GHSA-g7r4-m6w7-qqqr

    Low · CVSS 2.5Fix available

    esbuild allows arbitrary file read when running the development server on Windows

    ### Summary The development server contains a path traversal vulnerability on Windows when serving files from `servedir`. Due to the use of `path.Clean()` (which only normalizes forward-slash `/` separators) instead of a Windows-aware path normalization function, it is possible to craft requests using backslashes (`\`) that bypass the intended directory containment logic. An attacker can escape the configured `servedir` root and access arbitrary files on the filesystem. This issue affects Windows environments only. ### Details The request path is sanitized using: ```go // https://github.com/evanw/esbuild/blob/v0.27.3/pkg/api/serve_other.g

    • Update to 0.28.1
    Published Updated
  12. CVE-2026-42890

    Medium · CVSS 4.8EPSS 0.13%Fix available

    actual Allows Electron to Run As Node

    Actual is an open-source personal finance application. In the macOS desktop application version 25.x (built on Electron 39.2.7), the ELECTRON_RUN_AS_NODE fuse is not disabled, allowing an attacker who can place a file on disk or control command-line arguments to invoke the signed Actual.app binary with the ELECTRON_RUN_AS_NODE=1 environment variable set. This converts the application into a Node.js REPL capable of executing arbitrary code that inherits the application's entitlements and code signature, bypassing macOS Gatekeeper review. Version 26.5.0 patches the issue.

    • Update to 26.5.0
    Published Updated
  13. CVE-2026-50287

    High · CVSS 8.7EPSS 0.36%Fix available

    Missing Authentication for Critical Function in @agenticmail/mcp

    AgenticMail gives AI agents real email addresses and phone numbers. Prior to version 0.9.27, @agenticmail/mcp exposes a Streamable HTTP transport when started with --http or MCP_HTTP=1. In that mode, the /mcp endpoint accepts requests without any HTTP authentication layer. A remote client can initialize a session and call tools directly. This issue has been patched in version 0.9.27.

    • Update to 0.9.27
    Published Updated
  14. CVE-2026-53726

    Medium · CVSS 6.9EPSS 0.28%Fix available

    Parse Server: Relation `$relatedTo` query bypasses `protectedFields` and owning-object ACL

    Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to versions 8.6.80 and 9.9.1-alpha.6, a relation query using the $relatedTo operator could read the membership of a Relation field even when that field was hidden from the requesting client by protectedFields, and even when the object owning the relation was not readable by the client under its ACL or class-level permissions. The request requires only the public API credentials that Parse clients normally carry — no user session, master key, or Cloud Code is needed. As a result, an unauthenticated client who knows or obtains the ownin

    • Update to 8.6.80
    • Update to 9.9.1-alpha.6
    Published Updated
  15. CVE-2026-53725

    Medium · CVSS 5.9EPSS 0.25%Fix available

    Parse Server: Endpoints `/login` and `/verifyPassword` disclose MFA secrets and protected fields when `_User` get is denied

    Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. From version 9.8.0 to before version 9.9.1-alpha.5, apps that enable MFA and deny get on the _User class via Class-Level Permissions could expose sensitive user data through the /login and /verifyPassword endpoints. These endpoints re-fetch the user through the access-controlled query pipeline (CLP, protectedFields, auth-adapter sanitizers) before responding. When that re-fetch was denied by the _User get permission, the server fell back to the raw database row, exposing raw authData (including MFA TOTP secrets and recovery codes) and field

    • Update to 9.9.1-alpha.5
    Published Updated
  16. CVE-2026-53724

    Low · CVSS 2.1EPSS 0.28%Fix available

    Parse Server: Stored XSS via trailing-dot filename bypassing file upload extension blocklist

    Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to versions 8.6.79 and 9.9.1-alpha.4, the default file upload extension blocklist can be bypassed by appending a trailing dot to a filename whose extension would otherwise be blocked (e.g. poc.svg.). The trailing dot causes the extension parser to extract an empty string, which short-circuits the blocklist check, and the attacker-controlled Content-Type is forwarded to the storage adapter unchanged. Storage adapters that persist and serve the provided Content-Type (such as S3 or GCS) then serve the file with an active type such as ima

    • Update to 8.6.79
    • Update to 9.9.1-alpha.4
    Published Updated
  17. CVE-2026-50008

    Medium · CVSS 6.9EPSS 0.34%Fix available

    Parse Server: Server option routeAllowList is bypassable through batch sub-requests

    Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. From version 9.8.0 to before version 9.9.1-alpha.3, the routeAllowList server option restricts external client access to a configured list of REST API routes. The check is only enforced as Express middleware against the outer HTTP request URL, so the /batch handler dispatches each sub-request to the internal router without re-running the allow-list check. An external caller whose outer route matches batch can issue batch sub-requests to any REST API route that the operator omitted from the allow-list. Authentication, ACL, CLP, and other inn

    • Update to 9.9.1-alpha.3
    Published Updated
  18. CVE-2026-47138

    High · CVSS 8.7EPSS 0.58%Fix available

    Parse Server: Pre-authentication denial of service via client version header regex backtracking

    Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to versions 8.6.77 and 9.9.1-alpha.1, an unauthenticated attacker who knows a publicly-known Parse Application ID can submit a single HTTP request whose client SDK version field contains adversarial input that triggers polynomial backtracking in a request-header parser. The parsing runs before session authentication and before rate limiting on every /parse/* request, so the request consumes seconds to minutes of synchronous CPU on a Node.js worker before any access control evaluates it. A small number of concurrent requests can satura

    • Update to 8.6.77
    • Update to 9.9.1-alpha.1
    Published Updated
  19. CVE-2026-47248

    Medium · CVSS 6.9EPSS 0.29%Fix available

    Parse Server: GraphQL "Did you mean" validation suggestions disclose schema to unauthenticated callers

    Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to versions 8.6.78 and 9.9.1-alpha.2, Parse Server's GraphQL endpoint discloses schema metadata to unauthenticated callers through Did you mean ...? suggestions embedded in GraphQL validation-error messages. An unauthenticated caller who knows only the public application id can iteratively send malformed queries to reconstruct class names, field names, argument names, mutation names, and input-object fields. This issue has been patched in versions 8.6.78 and 9.9.1-alpha.2.

    • Update to 8.6.78
    • Update to 9.9.1-alpha.2
    Published Updated
  20. CVE-2026-12143

    High · CVSS 8.7EPSS 0.67%Fix available

    form-data does not escape CR/LF/quote in multipart field names and filenames (CRLF injection)

    form-data is a library for creating readable multipart/form-data streams. In versions through 4.0.5, the `field` argument to `FormData#append` and the `filename` option are concatenated verbatim into the `Content-Disposition` header without escaping carriage return (CR), line feed (LF), or double-quote (") characters. An application that passes attacker-controlled data as a field name or filename (for example, an API gateway that turns JSON object keys into multipart field names) allows the attacker to terminate the header line and inject additional headers, or to smuggle entire additional multipart parts, into the request the application for

    • Update to 2.5.6
    • Update to 3.0.5
    • Update to 4.0.6
    • Update to 4.0.6+~2.1.0-1
    Published Updated

Check your server

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

Check your server →