CVE-2026-39974: N8n mcp N8n-mcp Has Authenticated SSRF Vulnerability
HIGHCVE-2026-39974 is a HIGH (CVSS 8.5) n8n-mcp has authenticated ssrf vulnerability (CWE-918: Server-Side Request Forgery (SSRF)) affecting N8n mcp libraries in the npm ecosystem. The issue involves n8n-mcp has authenticated ssrf via instance-url header in multi-tenant http mode. Remediation is available by upgrading affected packages to version 2.47.4.
CVE-2026-39974 at a Glance
Security Impact
CVSS: 8.5
The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N).
How to Fix CVE-2026-39974
To remediate this vulnerability, upgrade all affected N8n mcp dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
npm install n8n-mcp@2.47.4
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
npm ls n8n-mcp
How to Check if You Are Affected
To determine whether your Node.js application is affected by CVE-2026-39974, inspect your project dependencies using npm:
npm ls n8n-mcp
Analyze the terminal output to locate any version of N8n mcp in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 2.47.4), your application is affected.
Note: The npm ls n8n-mcp command inspects dependencies declared in your package.json and lockfile; it does not perform automated runtime dynamic scanning.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-918: Server-Side Request Forgery (SSRF), where the web server receives a url or similar request from an upstream component and retrieves the contents of this url, but it does not sufficiently ensure that the request is being sent to the expected destination. In N8n mcp, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2026-39974 Affected N8n mcp Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
n8n-mcp
|
npm |
< 2.47.4
|
2.47.4
|
References
Frequently Asked Questions
What is CVE-2026-39974?
Which N8n mcp versions are affected?
What version fixes CVE-2026-39974?
Is n8n-mcp affected?
What is the CVSS score of CVE-2026-39974?
What CWE is associated with CVE-2026-39974?
How can I check npm dependencies for CVE-2026-39974?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-4ggg-h7ph-26qr",
"modified" : "2026-04-09T19:05:56Z",
"published" : "2026-04-08T19:53:48Z",
"aliases" : [ "CVE-2026-39974" ],
"summary" : "n8n-mcp has authenticated SSRF via instance-URL header in multi-tenant HTTP mode",
"details" : "## Impact\nAn authenticated Server-Side Request Forgery in `n8n-mcp` allows a caller holding a valid `AUTH_TOKEN` to cause the server to issue HTTP requests to arbitrary URLs supplied through multi-tenant HTTP headers. Response bodies are reflected back through JSON-RPC, so an attacker can read the contents of any URL the server can reach — including cloud instance metadata endpoints (AWS IMDS, GCP, Azure, Alibaba, Oracle), internal network services, and any other host the server process has network access to.\n\nThe primary at-risk deployments are multi-tenant HTTP installations where more than one operator can present a valid `AUTH_TOKEN`, or where a token is shared with less-trusted clients. Single-tenant stdio deployments and HTTP deployments without multi-tenant headers are not affected.\n\n## Affected versions\n`n8n-mcp` ≤ `2.47.3` (all versions up to and including 2.47.3).\n\n## Patched versions\n`n8n-mcp` `2.47.4` and later.\n\n## Workarounds\nIf you cannot immediately upgrade:\n1. **Egress filtering at the network layer** — block outbound traffic from the `n8n-mcp` container to RFC1918 ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16), link-local `169.254.0.0/16`, and any other internal ranges. This defends against any future SSRF-class issue and is recommended even after upgrading.\n2. **Disable multi-tenant headers** — if your deployment does not require per-request instance switching, unset `ENABLE_MULTI_TENANT` and do not accept `x-n8n-url` / `x-n8n-key` headers at the reverse proxy.\n3. **Restrict `AUTH_TOKEN` distribution** — ensure the bearer token is only held by fully trusted operators until you can upgrade.\n\n## Remediation\nUpgrade to `n8n-mcp` 2.47.4 or later. No configuration changes are required; the fix adds validation at the URL entry points and normalizes URLs at the API client layer.\n\n## Credits\nReported by the Eresus Security Research Team. @ibrahmsql",
"severity" : [ {
"type" : "CVSS_V3",
"score" : "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "npm",
"name" : "n8n-mcp"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "2.47.4"
} ]
} ],
"database_specific" : {
"last_known_affected_version_range" : "<= 2.47.3"
}
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/czlonkowski/n8n-mcp/security/advisories/GHSA-4ggg-h7ph-26qr"
}, {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-39974"
}, {
"type" : "WEB",
"url" : "https://github.com/czlonkowski/n8n-mcp/commit/d9d847f230923d96e0857ccecf3a4dedcc9b0096"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/czlonkowski/n8n-mcp"
}, {
"type" : "WEB",
"url" : "https://github.com/czlonkowski/n8n-mcp/releases/tag/v2.47.4"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-918" ],
"severity" : "HIGH",
"github_reviewed" : true,
"github_reviewed_at" : "2026-04-08T19:53:48Z",
"nvd_published_at" : "2026-04-09T17:16:30Z"
}
}