Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
📦 npm
Not in CISA KEV

n8n: Authenticated SSRF via Dynamic Node Parameters Endpoints Allows Internal Network AccessGHSA-9w78-79q7-r4fp

GHSA-9w78-79q7-r4fp is a Server-Side Request Forgery (SSRF) vulnerability in n8n. A fix is available for n8n — see the affected versions and patch details below.

Also known asCVE-2026-65593
Published
Updated
Affected
3 pkgs
Patched
3 / 3
Exploits
None indexed
Exploitation data as of Oct 11, 2026 · OSV.dev, NVD, FIRST.org (EPSS)

Exploitation Status

No confirmed exploitation observed yet

  • CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.

Exploitation and automatability from CISA’s SSVC triage for GHSA-9w78-79q7-r4fp.

EPSS Exploitation Probability

via FIRST.org ↗
0.2%probability of exploitation in next 30 days
Lower Risk0.00%
Lower risk than most CVEs14th percentile — riskier than 14% of all scored CVEsHighest risk
0.00%0.25%0.49%0.74%0.1%0.1%0.2%0.2%Aug 26Oct 26Oct 26

Probability of exploitation in the next 30 days, from FIRST.org EPSS.

Real-World Exposure

3 pkgs affected

How broadly this vulnerability is actually deployed: weekly install volume shows current usage, and reverse-dependency count shows how many other packages break if it stays unpatched.

37other npm packages depend on this — each one inherits the vulnerability until it's patched upstream
n8nnpm
110Kdownloads / week

Description

Impact

Endpoints in /rest/dynamic-node-parameters/ lacked authorization scopes, making it reachable by any authenticated user with no workflow creation or execution required.

By supplying an absolute URL in the routing configuration, a caller could override the node type's declared baseURL, defeating the restriction meant to confine requests to the node's own upstream service. With SSRF protection disabled by default (N8N_SSRF_PROTECTION_ENABLED=false), this let an authenticated user make the n8n server issue HTTP requests to arbitrary internal targets.

Patches

The issue has been fixed in n8n versions 1.123.64, 2.29.8, and 2.30.1. Users should upgrade to this version or later to remediate the vulnerability.

Workarounds

If upgrading is not immediately possible, administrators should consider the following temporary mitigations:

  • Restrict n8n instance access to fully trusted users only.
  • Set N8N_SSRF_PROTECTION_ENABLED=true to enable SSRF filtering for private IP ranges and cloud metadata endpoints.
  • Restrict network egress from the n8n host to limit reachable internal services.

These workarounds do not fully remediate the risk and should only be used as short-term mitigation measures.

Affected Packages

3 total 3 fixed
EcosystemPackageVulnerable rangeFix
📦npmn8nall versions1.123.64npm install n8n@1.123.64
📦npmn8n≥ 2.30.0&&< 2.30.12.30.1npm install n8n@2.30.1
📦npmn8n≥ 2.0.0-rc.0&&< 2.29.82.29.8npm install n8n@2.29.8

Affected Products

1 product · 6 configurations
Application
n8nn8n
≥ 2.0.0 && < 2.29.8
1 version
2.30.0

Detection & mitigation playbook

Open-source dependency
  1. Detect

    Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for n8n, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.

  2. Fix

    Update n8n to 1.123.64 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-9w78-79q7-r4fp is resolved across your whole dependency graph.

  3. Workarounds

    Restrict outbound requests from the affected component to an allowlist of hosts, block access to link-local and internal address ranges at the network layer, and require authentication on internal services so a forged request cannot reach them unauthenticated.

Frequently Asked Questions

## Impact Endpoints in `/rest/dynamic-node-parameters/` lacked authorization scopes, making it reachable by any authenticated user with no workflow creation or execution required. By supplying an absolute URL in the routing configuration, a caller could override the node type's declared baseURL, defeating the restriction meant to confine requests to the node's own upstream service. With SSRF protection disabled by default (`N8N_SSRF_PROTECTION_ENABLED=false`), this let an authenticated user make the n8n server issue HTTP requests to arbitrary internal targets. ## Patches The issue has been
O3 Security · Impact-Aware SCA

Is GHSA-9w78-79q7-r4fp in your dependencies?

Find it across npm, including transitive dependencies.

n8n: Authenticated SSRF via Dynamic Node Parameters…