p PatchFirst

PatchFirst · Latest vulnerabilities

Node.js stack vulnerabilities · Page 25

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: 7770

  1. CVE-2026-63627

    Medium · CVSS 6.9EPSS 0.52%Fix available

    mppx: Gas Draining with padding

    mppx is a TypeScript interface for machine payments protocol. Prior to 0.8.2, FeePayerPolicy in src/tempo/internal/fee-payer.ts used decodeFunctionData to validate fee-sponsored calldata but did not reject trailing bytes. A client could append nonzero padding that increased intrinsic calldata gas while gas_limit and max_fee_per_gas remained within policy caps, causing the server fee_payer wallet to pay substantially more than the decoded transaction required. The tested 16 KB header limit bounded the demonstrated padding to about 5,500 bytes and produced approximately five times the normal transaction fee. This issue is fixed in version 0.8.2

    • Update to 0.8.2
    Published Updated
  2. CVE-2026-56682

    Medium · CVSS 5.3EPSS 0.5%Fix available

    9Router: Login Brute-Force Lockout Bypass via Spoofable X-9r-Real-Ip Header

    9Router is an AI router & token saver. Prior to 0.5.6, 9Router deployments that allow requests to reach Next.js without the sanitizing custom-server.js wrapper use the client-supplied X-9r-Real-Ip value as the bucket key in getClientIp, checkLock, and recordFail in src/lib/auth/loginLimiter.js for POST /api/auth/login. A remote unauthenticated attacker can rotate the header on every password guess so each request uses a new failed-attempt bucket and the five-attempt progressive lockout never returns HTTP 429. This permits unthrottled password guessing against the dashboard login and can lead to an administrative session if the password is rec

    • Update to 0.5.8
    Published Updated
  3. CVE-2026-56681

    High · CVSS 7.3EPSS 1.11%Public exploitFix available

    9Router: Authentication Bypass in Public LLM API via Spoofable X-9r-Real-Ip Header

    9Router is an AI router & token saver. Prior to 0.5.6, 9Router deployments that allow requests to reach Next.js without the sanitizing custom-server.js wrapper trust the client-supplied X-9r-Real-Ip header in src/dashboardGuard.js when isLocalRequest decides whether canAccessPublicLlmApi may skip API-key validation for /api/v1/* routes. A remote unauthenticated attacker can set X-9r-Real-Ip to 127.0.0.1 and be classified as a local client, including on the verified GET /api/v1/models route. This permits unauthorized use of the instance owner's configured LLM providers, consumption of paid credits, and enumeration of configured providers and m

    • Update to 0.5.8
    Published Updated
  4. CVE-2026-75510

    Medium · CVSS 5.1EPSS 0.48%Fix available

    Novu: Stored XSS in In-App Inbox via notification redirect.url javascript: scheme

    Novu provides an API for sending notifications through multiple channels. Prior to 3.18.0, Novu's @novu/js In-App Inbox and the @novu/react Inbox component accept a notification call-to-action redirect.url from the v1 cta.data object and pass it through apps/api/src/app/inbox/utils/notification-mapper.ts and packages/js/src/ui/components/Notification/DefaultNotification.tsx to the navigate function in packages/js/src/ui/context/InboxContext.tsx without validating its URL scheme. An authenticated organization member or environment API-key holder can store a javascript: redirect with target _self in an in-app workflow. When a recipient using a

    • Update to 3.18.0
    Published Updated
  5. CVE-2026-61647

    High · CVSS 7.1EPSS 0.44%Fix available

    @roomi-fields/notebooklm-mcp has path traversal in vault.batch tool that allows arbitrary file write outside intended vault directory

    NotebookLM MCP is an MCP server and HTTP service for interacting with Google NotebookLM and exporting generated content to local vault directories. Versions 1.6.0 through 2.0.2 contain a path traversal vulnerability in the `POST /batch-to-vault` endpoint, also exposed through the `batch_to_vault` MCP tool beginning in version 1.7.0, because attacker-controlled `vault_dir` and `slug_prefix` values can cause Markdown and JSON files to be written outside the intended vault directory to any location writable by the server process. Version 2.0.3 sanitizes `slug_prefix` and supports vault containment when `NOTEBOOKLM_VAULT_ROOT` is configured; cont

    • Update to 2.0.3
    Published Updated
  6. CVE-2026-58272

    Medium · CVSS 5.3EPSS 0.39%Fix available

    Sync-in Server has Username/Login Enumeration via Timing Side-Channel on POST /api/auth/login (incomplete fix of the prior timing-attack advisory)

    Sync-in Server is an open-source platform for file storage, sharing, collaboration, and syncing. Versions prior to 2.4.1 contain an observable timing discrepancy in the login endpoint because authentication attempts for nonexistent accounts return without performing the bcrypt comparison used for existing accounts. An unauthenticated attacker can measure response times to enumerate valid usernames or email addresses, facilitating credential-stuffing, password-spraying, and phishing attacks. Version 2.4.1 contains a patch.

    • Update to 2.4.1
    Published Updated
  7. CVE-2026-58270

    Medium · CVSS 6.5EPSS 0.41%Fix available

    Sync-in Server has a ReDoS via Unsanitized Regex in Sync Diff `pathFilters`

    Sync-in Server is an open-source platform for file storage, sharing, collaboration, and syncing. Prior to version 2.4.0, the sync diff endpoint compiles a user-supplied string into a `RegExp` with no complexity validation. A catastrophic-backtracking pattern (e.g. `^(a+)+b`) blocks the Node.js event loop, making the entire server unresponsive to all users until the container is restarted. Version 2.4.0 patches the issue.

    • Update to 2.4.0
    Published Updated
  8. CVE-2026-58269

    High · CVSS 8.1EPSS 0.27%Fix available

    Sync-in Server has a complete 2FA Bypass via `POST /api/auth/token`

    Sync-in Server is an open-source platform for file storage, sharing, collaboration, and syncing. Prior to version 2.4.0, `POST /api/auth/token` authenticates with username and password only, then calls `getTokens()`, which returns full access and refresh JWTs without checking whether the account has TOTP 2FA enabled. An attacker with stolen or phished credentials can bypass 2FA in a single request. The parallel login endpoint (`POST /api/auth/login`) correctly enforces 2FA by calling `setCookies(user, res, true)`, which gates on `user.twoFaEnabled`. Version 2.4.0 patches the issue.

    • Update to 2.4.0
    Published Updated
  9. CVE-2026-58271

    Medium · CVSS 6.8EPSS 0.22%Fix available

    @sync-in/server vulnerable to TOTP Brute-Force via `POST /api/app/sync/register`

    Sync-in Server is an open-source platform for file storage, sharing, collaboration, and syncing. Prior to version 2.4.0, `POST /api/app/sync/register` accepts credentials and a TOTP code to register a desktop sync client. On a failed TOTP, `SyncClientsManager.register()` calls `updateAccesses(user, ip, false)`, which hits a freeze branch that writes `passwordAttempts` back unchanged. The counter never reaches `USER_MAX_PASSWORD_ATTEMPTS` (10) and the lockout gate never fires. A successful guess returns a `{clientId, clientToken}` pair. The token can be exchanged via `POST /api/app/sync/auth/cookie` for a full JWT. While the code is valid, the

    • Update to 2.4.0
    Published Updated
  10. CVE-2026-61612

    Medium · CVSS 5.7EPSS 0.39%Fix available

    @aborruso/ckan-mcp-server has SSRF via DNS-name → internal IP — incomplete fix of CVE-2026-53509

    CKAN MCP Server is a tool for querying CKAN open data portals. Prior to version 0.4.108, the SSRF guard `validateServerUrl` (added for CVE-2026-33060, extended for CVE-2026-53509) validates only the hostname string and never resolves DNS. Any caller-supplied `server_url` whose hostname *resolves* to an internal address passes the guard, so the server issues requests to loopback and cloud metadata (`169.254.169.254`). This is a third bypass of the same guard, and it reaches IMDS — strictly more than CVE-2026-53509, which only reached loopback. Version 0.4.108 contains an updated fix.

    • Update to 0.4.108
    Published Updated
  11. CVE-2026-63116

    High · CVSS 8.8EPSS 0.51%Fix available

    deepstream: PATCH_MULTI action bypasses Valve permission system allowing unauthorized record writes

    deepstream is a server that allows clients and backend services to sync data, send messages and make rpcs at scale. From 10.1.0 until 10.1.1, src/services/permission/valve/rules-map.ts omits RECORD_ACTION.PATCH_MULTI from RULES_MAP. When an authenticated user sends a PATCH_MULTI record operation while permission.type is config, getRulesForMessage returns a null rule specification and ConfigPermission.canPerformAction treats the missing specification as an unconditional allow instead of applying RULE_TYPES.WRITE. Any authenticated user can therefore modify arbitrary protected records, corrupt application state, or cause service disruption; dep

    • Update to 10.1.1
    Published Updated
  12. CVE-2026-93981

    Low · CVSS 2.3EPSS 0.23%Fix available

    hono/jsx before 4.13.7 Cross-Site Scripting via Unescaped Strings

    hono before 4.13.7 fails to HTML-escape plain strings rendered by hono/jsx as a child or fallback of Suspense, as a string child of ErrorBoundary alongside an asynchronous sibling, as the single child of a Context.Provider, or as the root value passed to renderToString() or renderToReadableStream() from hono/jsx/dom/server. These paths stringify their input and treat the result as already-escaped markup, so an attacker who controls such a string during server-side rendering can inject arbitrary HTML and execute script under the application's origin.

    • Update to 4.13.7
    Published Updated
  13. CVE-2026-92708

    High · CVSS 7.5EPSS 0.73%Fix available

    devalue: Cross-request process memory disclosure in devalue when `stringify` / `uneval` serialize Node Buffers

    Svelte devalue is a JavaScript library that serializes values into strings when JSON.stringify isn't sufficient for the job. In versions 5.1.0 through 5.9.2, stringify and uneval functions serialize a typed array by emitting its entire backing ArrayBuffer rather than only the view, so serializing a Node Buffer, whose backing store is a process-wide shared pool, discloses up to 64 KB of unrelated process memory, including bytes from other in-flight requests. In a server-side-rendered framework such as SvelteKit or Nuxt, a public page whose load() returns a small Buffer, or that reads a small file, can therefore ship another user's request body

    • Update to 5.9.3
    Published Updated
  14. CVE-2026-93753

    High · CVSS 8.7EPSS 0.51%No fix published

    deepmerge through 4.3.1 Prototype Poisoning via mergeObject

    deepmerge through 4.3.1 contains a prototype poisoning vulnerability in the mergeObject() function that fails to properly validate keys being written to target objects. Attackers can supply malicious source objects in merge operations to inject attacker-controlled properties into the returned object's prototype, causing applications to inherit unintended values when accessing properties without own-property checks.

    Published Updated
  15. CVE-2026-93749

    High · CVSS 8.7EPSS 0.46%Fix available

    source-map-js through 1.2.1 Event Loop Denial of Service

    source-map-js through 1.2.1 fails to validate the per-section offset line value in indexed source maps, allowing attackers to specify arbitrary numeric values. Attackers can supply extremely large offset line values that cause synchronous event loop blocking for extended periods, preventing the service from handling other requests.

    • Update to 1.2.2
    • Update to 8.5.31+~cs10.2.26-1
    Published Updated
  16. CVE-2026-91127

    High · CVSS 8.2EPSS 0.4%Fix available

    File Viewer: DOM XSS via unsafe hyperlink schemes in the legacy DOC renderer

    File Viewer is a browser-native viewer for Office, PDF, CAD, archive, and other files in private and internal web applications. Prior to @file-viewer/doc 2.3.1 and msdoc-viewer 0.2.2, the legacy DOC renderer emitted document-controlled hyperlink targets into generated HTML after character escaping but without restricting URL schemes. A crafted legacy DOC file could place javascript:, vbscript:, data:, or another unsafe scheme in a rendered link, and script could execute in the embedding application's origin when a user clicked the link. The fix blocks external document links by default, allows only HTTP(S), mail, telephone, safe relative URLs

    • Update to 0.2.2
    • Update to 2.3.1
    Published Updated
  17. CVE-2026-84992

    Medium · CVSS 6.1EPSS 0.33%Fix available

    md-editor-v3: XSS via fenced-code language rendering bypass

    md-editor-v3 is a Markdown editor for Vue 3 developed in JSX and TypeScript. Prior to 6.5.4, MdPreview's useMarkdownIt() highlight callback in packages/MdEditor/layouts/Content/composition/useMarkdownIt.ts inserts a fenced-code language value into class and language HTML attributes without escaping or consistently quoting it. Both highlighted and non-highlighted rendering paths reach this return value, while XSSPlugin filters only existing html_block and html_inline tokens before rendering and therefore cannot inspect the renderer-generated HTML. An attacker who can supply Markdown can use crafted fenced-code metadata to execute JavaScript in

    • Update to 6.5.4
    Published Updated
  18. CVE-2026-77301

    High · CVSS 7.5EPSS 0.61%Fix available

    adm-zip: Uncontrolled memory allocation via the declared uncompressed size (DoS)

    adm-zip is a JavaScript library for creating and extracting ZIP archives in Node.js. Prior to 0.6.1, getData() in zipEntry.js trusts an entry's central-directory uncompressed size and allocates output memory before validating that value against the actual compressed data and decompression result. A small crafted ZIP can declare a multi-gigabyte uncompressed size, causing Buffer.alloc and decompression handling to commit excessive resident memory before CRC validation reports an error. Applications that read entries from untrusted archives can therefore be terminated by the operating system or suffer service-wide memory exhaustion. This issue

    • Update to 0.6.1
    Published Updated
  19. CVE-2026-93605

    Critical · CVSS 10EPSS 0.73%Public exploitFix available

    vm2 NodeVM before 3.12.1 Remote Code Execution via child_process

    vm2 NodeVM versions before 3.12.1 contain a sandbox escape vulnerability where the DANGEROUS_BUILTINS denylist omits child_process despite blocking other host-spawning modules. Attackers can require child_process and execute arbitrary commands on the host system when NodeVM is configured with builtin:['*'] or explicit child_process allowance.

    • Update to 3.12.1
    Published Updated
  20. CVE-2026-77615

    High · CVSS 8.7EPSS 0.56%Fix available

    Paella Player: Stored XSS via caption cue text

    Paella Player is a set of libraries to create a multi stream video player. Prior to Paella Player 2.12.11 (as used in Opencast prior to 19.7 and 20.2), there is a potential XSS attack though closed captions cue text. This vulnerability is fixed in 2.12.11.

    • Update to 1.50.6
    • Update to 19.7
    • Update to 20.2
    Published Updated

Check your server

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

Check your server →