p PatchFirst

PatchFirst · Latest vulnerabilities

Node.js stack vulnerabilities · Page 62

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

    High · CVSS 7.7EPSS 0.47%Fix available

    Parameter smuggling in @hapi/content header parser allows upload-filter bypass via duplicate parameters

    @hapi/content provided HTTP Content-* headers parsing. Prior to 6.0.2, Content.disposition() retained the last occurrence of each duplicate parameter while Content.type() retained the first occurrence of duplicate charset and boundary parameters, creating a parameter-smuggling primitive when another component in the request-processing chain resolves duplicates the opposite way. This can allow an upload filename allowlist bypass in headers such as Content-Disposition: form-data; name="file"; filename="safe.txt"; filename="shell.php". This issue is fixed in version 6.0.2.

    • Update to 6.0.2
    Published Updated
  2. CVE-2026-48819

    Medium · CVSS 4.8EPSS 0.27%Fix available

    Hey API: `buildClientParams` template: prototype chain substitution via unknown `$<slot>___proto__` key

    Hey API is an ecosystem for turning API specifications into production-ready code. Prior to 0.97.3, dist/clients/core/params.ts ships a runtime template copied into generated SDKs as params.gen.ts, and buildClientParams writes unknown slot-prefixed keys such as $body_, $headers_, $path_, and $query_ directly to the corresponding slot, allowing $query___proto__ alongside a legitimate q field to set params.query through params["query"]["__proto__"] = value, call Object.setPrototypeOf(params.query, value), and expose inherited attacker-controlled keys during for..in iteration. This issue is fixed in version 0.97.3.

    • Update to 0.97.3
    Published Updated
  3. CVE-2026-50289

    High · CVSS 8.7EPSS 2.18%Fix available

    systeminformation: OS command injection in networkInterfaces() via interfaces(5) source-directive path on Linux

    systeminformation is a System and OS information library for node.js. Prior to 5.31.7, networkInterfaces() on Linux is vulnerable to OS command injection through the Debian/Ubuntu interfaces(5) source directive because lib/network.js checkLinuxDCHPInterfaces() reads /etc/network/interfaces, extracts a source <path> token from file content, and interpolates it unquoted into cat ${file} 2> /dev/null | grep 'iface\|source' executed by execSync(cmd, util.execOptsLinux), allowing a path containing shell metacharacters to execute commands in any process that calls networkInterfaces(), including via getStaticData() and getAllData(). This issue is fi

    • Update to 5.31.7
    • Update to 5.31.7-1
    Published Updated
  4. CVE-2026-58195

    High · CVSS 8.8EPSS 0.56%Fix available

    Agentic-Flow: OS Command Injection in agentic-flow MCP server tools via unsanitized tool-parameter interpolation into execSync

    Agentic-Flow is an AI agent orchestration platform. Prior to 2.0.14, agentic-flow MCP server tools in src/mcp/standalone-stdio.ts, src/mcp/fastmcp/servers/claude-flow-sdk.ts, src/mcp/fastmcp/servers/stdio-full.ts, src/mcp/fastmcp/servers/http-streaming-updated.ts, src/mcp/fastmcp/servers/http-sse.ts, src/mcp/fastmcp/servers/poc-stdio.ts, src/mcp/fastmcp/tools/agent/{execute,list,parallel}.ts, src/mcp/fastmcp/tools/swarm/orchestrate.ts, and src/mcp/fastmcp/tools/hooks/pretrain.ts interpolated attacker-influenceable tool parameters such as agent, task, name, language, and agentdb directly into shell command strings passed to execSync(), allowin

    • Update to 2.0.14
    Published Updated
  5. CVE-2026-52746

    High · CVSS 7.5EPSS 0.69%Fix available

    JSONata: Malicious inputs to "$toMillis" function can cause resource exhaustion

    JSONata is a JSON query and transformation language. Prior to 2.2.0 and 1.8.9, malicious non-matching inputs to the $toMillis function can cause superlinear backtracking in the ISO-8601 validation regex, leading to denial of service in applications that evaluate user-provided JSONata expressions. This issue is fixed in version 2.2.0 and 1.8.9.

    • Update to 1.8.9
    • Update to 2.2.0
    Published Updated
  6. CVE-2026-62208

    Medium · CVSS 6EPSS 0.36%Fix available

    OpenClaw < 2026.6.5 Authorization Header Forwarding via SSE

    OpenClaw before 2026.6.5 could forward Authorization headers during MCP SSE redirects. When the affected feature is enabled and reachable, a lower-trust caller or configured input path could execute or persist actions beyond the caller's intended authorization. Impact depends on the operator's configuration and whether lower-trust input can reach the affected path.

    • Update to 2026.6.5
    Published Updated
  7. CVE-2026-63397

    High · CVSS 7.1EPSS 0.48%Fix available

    remorses/genql code injection

    remorses/genql before version 6.3.4 allows an authenticated attacker with control of the GraphQL schema that is passed to genql to inject arbitrary JavaScript or TypeScript. The malicious code is injected into the generated schema.ts file and executes when the genql client is bundled and imported.

    • Update to 6.3.4
    Published Updated
  8. CVE-2026-55629

    High · CVSS 8.7EPSS 0.55%Fix available

    Whistle: Path traversal

    Whistle is an HTTP, HTTP2, HTTPS, and WebSocket debugging proxy. Prior to 2.10.3, lib/service/service.js handles GET /cgi-bin/temp/get by reading req.query.filename, joining it to TEMP_FILES_PATH only when it matches the temporary file pattern, and otherwise passing the user-supplied filename directly to getFile, allowing a remote attacker to read arbitrary files such as /etc/passwd. This issue is reported as fixed in version 2.10.3.

    • Update to 2.10.3
    Published Updated
  9. CVE-2026-46341

    Medium · CVSS 6.1EPSS 0.23%Fix available

    Apify MCP server: Domain Allowlist Bypass in fetch-apify-docs via String Prefix Matching

    The Apify MCP server enables AI agents to extract data from websites using ready-made scrapers, crawlers, and automation tools available on the Apify Store. Prior to 0.9.21, the fetch-apify-docs tool in src/tools/common/fetch_apify_docs.ts validates allowlisted documentation domains with String.startsWith() rather than URL hostname comparison, allowing attacker-controlled URLs such as `https://docs.apify.com.evil.com/` and `https://[email protected]/` to pass the ALLOWED_DOC_DOMAINS check and return arbitrary fetched content to the LLM. This issue is fixed in version 0.9.21.

    • Update to 0.9.21
    Published Updated
  10. CVE-2026-45325

    High · CVSS 8.2EPSS 0.46%Fix available

    Gestor de Oferta: Prototype pollution in @tmlmobilidade/utils setValueAtPath

    Gestor de Oferta is a web application for managing mobility service offerings. Prior to 20260509.0340.15, @tmlmobilidade/utils has a prototype pollution vulnerability in setValueAtPath() in packages/utils/src/generic/value-at-path.ts because unsafe path segments are not blocked. This issue is fixed in version 20260509.0340.15.

    • Update to 20260509.0340.15
    Published Updated
  11. CVE-2026-53598

    High · CVSS 7.5EPSS 1.29%Fix available

    Prompty: Arbitrary File Read via ${file:path} Reference Expansion

    Prompty is a markdown file format (.prompty) for LLM prompts. Prior to 2.0.0-beta.2, Prompty loaders expanded ${file:...} references in .prompty frontmatter without enforcing that resolved paths stayed within the prompt directory or allowed roots, allowing an attacker-controlled prompt file to read local files through absolute paths, .. traversal, or symlink escapes. This issue is fixed in versions 2.0.0-beta.2.

    • Update to 2.0.0-beta.2
    • Update to 2.0.0b2
    Published Updated
  12. CVE-2026-53597

    High · CVSS 8.7EPSS 0.97%Fix available

    Prompty: Arbitrary code execution via JavaScript frontmatter in TypeScript loader

    Prompty is a markdown file format (.prompty) for LLM prompts. From 2.0.0-alpha.1 until 2.0.0-beta.3, the @prompty/core TypeScript loader in runtime/typescript/packages/core/src/core/loader.ts used gray-matter without overriding executable js and javascript frontmatter engines, allowing an attacker-controlled .prompty file with ---js frontmatter to execute arbitrary JavaScript during prompt loading. This issue is fixed in version 2.0.0-beta.3.

    • Update to 2.0.0-beta.3
    Published Updated
  13. GHSA-62gx-5q78-wrvx

    High · CVSS 8.8No fix published

    obsidian-local-rest-api: Authenticated path traversal via URL-encoded %2F in /vault/{path} — arbitrary host file read/write/delete

    ### Summary The Local REST API's `/vault/{path}` endpoints (GET/PUT/PATCH/POST/DELETE) percent-decode the request path *inside the handler — after* Express has already routed and normalized it, then hand it to the Obsidian vault adapter with no confinement check. A literal `../` is resolved/rejected at the routing layer (→ 404), but `%2F` is not a separator there, so `..%2F..%2F` survives routing and is only turned into a real `/` by the handler's `decodeURIComponent`, reconstituting a `../` traversal that walks out of the vault. An **authenticated** client can read, write, or delete **arbitrary files on the host** with the Obsidian process's

    Published Updated
  14. CVE-2026-48795

    High · CVSS 8.6EPSS 0.55%Fix available

    Incomplete fix for CVE-2026-25754 in @adonisjs/bodyparser

    AdonisJS is a TypeScript-first web framework. From 10.1.3 until 10.1.5 and 11.0.3, AdonisJS @adonisjs/bodyparser incompletely fixed CVE-2026-25754 because nested multipart field payloads such as user.__proto__.polluted and constructor.prototype still caused lodash _.set() via @poppinss/utils to create plain intermediate objects and pollute Object.prototype. This issue is fixed in versions 10.1.5 and 11.0.3.

    • Update to 10.1.5
    • Update to 11.0.3
    Published Updated
  15. CVE-2026-55445

    Critical · CVSS 9.3EPSS 0.53%Fix available

    Qinglong: Incomplete fix for CVE-2026-3965: Improper Authentication

    Qinglong is a timed task management platform supporting Python3, JavaScript, Shell, and Typescript. Prior to 2.20.1, the init guard middleware in back/loaders/express.ts checks /api/user/init but not /open/user/init, while rewrite('/open/*', '/api/$1') rewrites the whitelisted /open/* path after JWT authentication and the guard have passed; an unauthenticated attacker can send PUT /open/user/init to reset administrator credentials on an initialized instance. This issue is fixed in 2.20.1.

    • Update to 2.20.1
    Published Updated
  16. CVE-2026-56678

    Medium · CVSS 6.4EPSS 0.21%Public exploitFix available

    9Router: Kiro region injection allows authenticated SSRF with Authorization header forwarding

    9Router is an AI router & token saver. Prior to 0.5.6, the Kiro API-key validation endpoint POST /api/oauth/kiro/api-key builds an upstream URL using a user-controlled region value, allowing an authenticated attacker to supply a crafted region such as kiro-canary.local:8443# and cause 9Router to send the Kiro validation request to an attacker-controlled host while forwarding the submitted Kiro API key as an Authorization header. This issue is fixed in version 0.5.6.

    • Update to 0.5.6
    Published Updated
  17. CVE-2026-56679

    High · CVSS 8.7EPSS 0.4%Public exploitFix available

    9Router: Mass assignment in PATCH /api/settings allows authenticated authorization downgrade

    9Router is an AI router & token saver. Prior to 0.5.4, the PATCH /api/settings endpoint writes the entire request body to persistent settings without a field whitelist, allowing an authenticated user to set security-critical fields such as requireLogin and disable authentication for the whole application, exposing protected routes such as /api/keys and /api/providers to unauthenticated access. This issue is reported as fixed in version 0.5.4.

    • Update to 0.5.4
    Published Updated
  18. CVE-2026-49353

    High · CVSS 7.5EPSS 0.34%No fix published

    9Router: Local-Only Access Gate Bypass in 9router via Host Header SpoofING

    9Router is an AI router & token saver. In 0.4.45 and earlier, 9Router's src/dashboardGuard.js local-only access gate used Host and Origin headers in isLocalRequest() to protect /api/mcp/*, /api/tunnel/*, and /api/cli-tools/*, allowing header spoofing in reverse proxy or tunnel deployments to reach MCP child process stdin paths.

    Published Updated
  19. CVE-2026-49352

    Critical · CVSS 9.8EPSS 0.6%Fix available

    9Router: Hardcoded Default fallback JWT Secret Allows Authentication Bypass

    9Router is an AI router & token saver. From 0.2.21 until 0.4.44, 9Router used the hardcoded fallback JWT secret 9router-default-secret-change-me in src/app/api/auth/login/route.js, src/middleware.js, and later src/lib/auth/dashboardSession.js, allowing attackers to forge an auth_token cookie when JWT_SECRET was unset. This issue is fixed in version 0.4.44

    • Update to 0.4.45
    Published Updated
  20. CVE-2026-46339

    Critical · CVSS 10EPSS 2.76%Public exploitFix available

    9Router: Unauthenticated Remote Code Execution via unprotected MCP custom plugin routes

    9Router is an AI router & token saver. From 0.4.30 until 0.4.37, 9Router's src/proxy.js middleware did not protect /api/cli-tools/* and /api/mcp/*, allowing unauthenticated registration of customPlugins through src/app/api/cli-tools/cowork-settings/route.js and command execution through the MCP bridge. This vulnerability is fixed in 0.4.37.

    • Update to 0.4.37
    Published Updated

Check your server

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

Check your server →