{"id":"GHSA-f6x8-65q6-j9m9","summary":"n8n has Open Redirect in MCP OAuth Consent Flow","details":"## Impact\nThe `/mcp-oauth/register` endpoint accepted OAuth client registrations without authentication, allowing arbitrary `redirect_uri` values to be registered. When a user denies the MCP OAuth consent dialog, the `handleDeny` handler redirects the user to the registered `redirect_uri` without validation, enabling an open redirect to an attacker-controlled URL. An attacker can craft a phishing link and send it to a victim; if the victim clicks \"Deny\" on the consent page, they are silently redirected to an external site.\n\n## Patches\nThe issue has been fixed in n8n versions 1.123.32, 2.17.4, and 2.18.1. Users should upgrade to one of these versions or later to remediate the vulnerability.\n\n## Workarounds\nIf upgrading is not immediately possible, administrators should consider the following temporary mitigations:\n- Restrict network access to the n8n instance to prevent untrusted users from reaching the MCP OAuth endpoints.\n- Limit access to the n8n instance to fully trusted users only.\n\nThese workarounds do not fully remediate the risk and should only be used as short-term mitigation measures.","aliases":["CVE-2026-42230"],"modified":"2026-05-08T01:49:37.039376Z","published":"2026-04-29T21:10:17Z","database_specific":{"nvd_published_at":"2026-05-04T19:16:05Z","cwe_ids":["CWE-601"],"severity":"MODERATE","github_reviewed":true,"github_reviewed_at":"2026-04-29T21:10:17Z"},"references":[{"type":"WEB","url":"https://github.com/n8n-io/n8n/security/advisories/GHSA-f6x8-65q6-j9m9"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-42230"},{"type":"PACKAGE","url":"https://github.com/n8n-io/n8n"}],"affected":[{"package":{"name":"n8n","ecosystem":"npm","purl":"pkg:npm/n8n"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.123.32"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/04/GHSA-f6x8-65q6-j9m9/GHSA-f6x8-65q6-j9m9.json"}},{"package":{"name":"n8n","ecosystem":"npm","purl":"pkg:npm/n8n"},"ranges":[{"type":"SEMVER","events":[{"introduced":"2.18.0"},{"fixed":"2.18.1"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/04/GHSA-f6x8-65q6-j9m9/GHSA-f6x8-65q6-j9m9.json"}},{"package":{"name":"n8n","ecosystem":"npm","purl":"pkg:npm/n8n"},"ranges":[{"type":"SEMVER","events":[{"introduced":"2.0.0"},{"fixed":"2.17.4"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/04/GHSA-f6x8-65q6-j9m9/GHSA-f6x8-65q6-j9m9.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:N/A:N"},{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N"}]}