{"answers":{"affected":"2 open source packages ship an affected version, including n8n-mcp. It affects 1 product.","exploited":"There is no known exploitation of CVE-2026-42449 in the wild and no public exploit code.","fix":"Upgrade n8n-mcp to 2.47.14 or later.","what":"CVE-2026-42449 is a high-severity server-side request forgery vulnerability in czlonkowski n8n-mcp, published on 7 May 2026. Any signed-in user can exploit it over the network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-42449 and fix it if it is affected.\n\nWhat it is: CVE-2026-42449 is a high-severity server-side request forgery vulnerability in czlonkowski n8n-mcp, published on 7 May 2026. Any signed-in user can exploit it over the network, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2026-42449 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- n8n-mcp (npm): affected from 2.47.4; fixed in 2.47.14\n- n8n-mcp (npm): affected from 2.47.4; fixed in 2.47.14\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-42449/ (Markdown: https://insights.sbomify.com/CVE-2026-42449/index.md)","id":"CVE-2026-42449","markdown":"https://insights.sbomify.com/CVE-2026-42449/index.md","name":"CVE-2026-42449","record":{"aliases":["GHSA-56c3-vfp2-5qqj"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["data_read","security_bypass"],"network_reachable":"yes","non_default_config":true,"product_category":"n8n MCP server","requires_auth":"low_privilege","summary":"Attacker-supplied URLs bypass SSRF checks via IPv4-mapped IPv6, allowing access to internal services and metadata in SDK embedders.","user_interaction":"not_required","vuln_class":"ssrf"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"n8n-mcp","vendor":"n8n-mcp"}],"cvss":{"score":8.5,"severity":"high","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N","version":"3.1"},"cwes":[{"id":"CWE-918","name":"Server-Side Request Forgery"}],"description":"n8n-MCP is an MCP server that provides AI assistants access to n8n node documentation, properties, and operations. In versions 2.47.4 through 2.47.13, the SDK embedder path (N8NDocumentationMCPServer constructor, getN8nApiClient(), and validateInstanceContext()), the synchronous URL validator in SSRFProtection.validateUrlSync() had no IPv6 checks. IPv4-mapped IPv6 addresses such as http://[::ffff:169.254.169.254] bypassed the cloud-metadata, localhost, and private-IP range checks. An attacker able to supply an n8nApiUrl value could cause the server to issue HTTP requests to cloud metadata endpoints, RFC1918 private networks, or localhost services. Response bodies are returned to the caller (non-blind SSRF), and the n8nApiKey is forwarded in the x-n8n-api-key header to the attacker-controlled target. Projects with deployments embedding n8n-mcp as an SDK using N8NDocumentationMCPServer or N8NMCPEngine with user-supplied InstanceContext are affected. The first-party HTTP server deployment was not primarily affected — it has a second async validator (validateWebhookUrl) that catches IPv6 addresses. This issue has been fixed in version 2.47.14. If users are unable to upgrade immediately as a workaround they can validate URLs before passing to the SDK, restrict egress at the network layer, and reject user-controlled n8nApiUrl values.","ecosystems":["npm"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"n8n-MCP: IPv4-mapped IPv6 addresses bypass SSRF protection in validateUrlSync(), enabling full SSRF for SDK embedders","id":"CVE-2026-42449","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"npm","product":null,"products":[],"type":"ssrf","year":"2026"},"n_packages":2,"n_references":2,"next":{"headline":"OpenColorIO vulnerable to stack buffer overflow via unbounded `sscanf %s` in Spi3D (.spi3d) LUT parser","id":"CVE-2026-42450"},"packages":[{"ecosystem":"npm","fixed":["2.47.14"],"introduced":["2.47.4"],"last_affected":[],"package":"n8n-mcp","purl":null,"source":"GHSA-56c3-vfp2-5qqj"},{"ecosystem":"npm","fixed":["2.47.14"],"introduced":["2.47.4"],"last_affected":[],"package":"n8n-mcp","purl":"pkg:npm/n8n-mcp","source":"GHSA-56c3-vfp2-5qqj"}],"prev":{"headline":"wormhole receive, with --output pointing at an existing directory can be path-traversed","id":"CVE-2026-42448"},"products":["n8n-mcp"],"published":"2026-05-07","related":[{"cvss_score":9.9,"headline":"n8n-MCP: Cross-tenant access to workflow version backups in multi-tenant HTTP deployments","id":"CVE-2026-54052","kev_date_added":null,"published":"2026-07-15"},{"cvss_score":8.5,"headline":"n8n-MCP has an Authenticated SSRF via instance-URL header in multi-tenant HTTP mode","id":"CVE-2026-39974","kev_date_added":null,"published":"2026-04-09"},{"cvss_score":8.1,"headline":"n8n-MCP: Multi-tenant MCP requests fall back to process-level n8n credentials when tenant headers are absent or incomplete","id":"CVE-2026-45707","kev_date_added":null,"published":"2026-05-29"},{"cvss_score":7.2,"headline":"n8n-MCP: Authenticated SSRF in n8n-mcp webhook and API client paths","id":"CVE-2026-44694","kev_date_added":null,"published":"2026-05-08"},{"cvss_score":6.5,"headline":"n8n-MCP: Workflow telemetry sanitizer could retain partial values from URL-shaped node parameters","id":"CVE-2026-45582","kev_date_added":null,"published":"2026-05-29"},{"cvss_score":5.3,"headline":"n8n-MCP Logs Sensitive Request Data on Unauthorized /mcp Requests","id":"CVE-2026-41495","kev_date_added":null,"published":"2026-05-08"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"none","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-05-08","vendors":["czlonkowski"]},"summary":"Attacker-supplied URLs bypass SSRF checks via IPv4-mapped IPv6, allowing access to internal services and metadata in SDK embedders.","url":"https://insights.sbomify.com/CVE-2026-42449/"}