{"id":"CVE-2026-72774","aliases":["EUVD-2026-56100","GHSA-6qc9-mqvw-jg7x","GHSA-r3ww-gmwx-48xw","ROOT-APP-NPM-GHSA-6qc9-mqvw-jg7x"],"status":"published","title":"n8n before 1.123.67 Authentication Bypass via HTTP Request Node","description":"n8n before 1.123.67, 2.31.5, and 2.32.1 contains a credential authorization bypass in the HTTP Request node. An authenticated member with edit access to a shared workflow can reference another user's credential while specifying the credential type via an expression. Because the pre-execution permission check compares the unresolved expression instead of the resolved credential type, the ownership check is skipped and the credential is loaded at execution time, allowing the member to use or exfiltrate a credential they were not granted. Exploitation requires knowing the target credential's identifier.","severity":{"version":"4.0","score":7.1,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:H/SA:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00438,"percentile":0.38346,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-639","CWE-863"],"published":"2026-07-22T22:10:41Z","modified":"2026-10-31T02:30:29Z","fixes":[{"ecosystem":"npm","package":"n8n","fixed_in":["1.123.67","2.32.1","2.31.5"],"sources":["ghsa","osv"]},{"ecosystem":"Root:npm","package":"n8n","fixed_in":["2.19.3-aikido.11","2.19.3-aikido.12","2.19.3-aikido.13","2.19.3-aikido.14","2.19.3-aikido.15"],"sources":["osv"]},{"ecosystem":"Root:npm","package":"@rootio/n8n","fixed_in":["2.19.3-root.io.11","2.19.3-root.io.12","2.19.3-root.io.13","2.19.3-root.io.14","2.19.3-root.io.15"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"n8n","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.123.67"}]}]},{"source":"ghsa","ecosystem":"npm","package":"n8n","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.32.0"},{"fixed":"2.32.1"}]}]},{"source":"ghsa","ecosystem":"npm","package":"n8n","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0.0-rc.0"},{"fixed":"2.31.5"}]}]},{"source":"osv","ecosystem":"npm","package":"n8n","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.123.67"}]}]},{"source":"osv","ecosystem":"npm","package":"n8n","ranges":[{"type":"SEMVER","events":[{"introduced":"2.32.0"},{"fixed":"2.32.1"}]}]},{"source":"osv","ecosystem":"npm","package":"n8n","ranges":[{"type":"SEMVER","events":[{"introduced":"2.0.0-rc.0"},{"fixed":"2.31.5"}]}]},{"source":"osv","ecosystem":"Root:npm","package":"n8n","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.19.3-aikido.11"},{"fixed":"2.19.3-aikido.12"},{"fixed":"2.19.3-aikido.13"},{"fixed":"2.19.3-aikido.14"},{"fixed":"2.19.3-aikido.15"}]}]},{"source":"osv","ecosystem":"Root:npm","package":"@rootio/n8n","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.19.3-root.io.11"},{"fixed":"2.19.3-root.io.12"},{"fixed":"2.19.3-root.io.13"},{"fixed":"2.19.3-root.io.14"},{"fixed":"2.19.3-root.io.15"}]}]}],"products":[{"vendor":"n8n","product":"n8n"},{"vendor":"n8n-io","product":"n8n"}],"references":[{"url":"https://github.com/n8n-io/n8n/security/advisories/GHSA-6qc9-mqvw-jg7x","tags":["vendor-advisory","Mitigation","Vendor Advisory","advisory","web"]},{"url":"https://www.vulncheck.com/advisories/n8n-before-authentication-bypass-via-http-request-node","tags":["third-party-advisory","Third Party Advisory","advisory"]},{"url":"https://github.com/n8n-io/n8n/commit/f69dfc6dd2178a14ea1624d2e1d403c2e755042f","tags":["web"]},{"url":"https://github.com/n8n-io/n8n/releases/tag/n8n@1.123.67","tags":["web"]},{"url":"https://github.com/n8n-io/n8n/releases/tag/n8n@2.31.5","tags":["web"]},{"url":"https://github.com/n8n-io/n8n/releases/tag/n8n@2.32.1","tags":["web"]},{"url":"https://github.com/advisories/GHSA-6qc9-mqvw-jg7x"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-72774","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-r3ww-gmwx-48xw"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72774.json","tags":["advisory"]},{"url":"https://github.com/n8n-io/n8n","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-72774","title":"n8n before 1.123.67 Authentication Bypass via HTTP Request Node","description":"n8n before 1.123.67, 2.31.5, and 2.32.1 contains a credential authorization bypass in the HTTP Request node. An authenticated member with edit access to a shared workflow can reference another user's credential while specifying the credential type via an expression. Because the pre-execution permission check compares the unresolved expression instead of the resolved credential type, the ownership check is skipped and the credential is loaded at execution time, allowing the member to use or exfiltrate a credential they were not granted. Exploitation requires knowing the target credential's identifier.","status":"published","published":"2026-08-11T12:17:12.713Z","modified":"2026-10-29T21:16:46.521Z","cvss":[{"version":"4.0","score":7.1,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:H/SA:N","level":"high","assessor":"cna"}],"cwes":["CWE-639"],"updated_at":"2026-11-02T14:19:52.016971Z"}],"euvd":[{"id":"EUVD-2026-56100","description":"n8n before 1.123.67, 2.31.5, and 2.32.1 contains a credential authorization bypass in the HTTP Request node. An authenticated member with edit access to a shared workflow can reference another user's credential while specifying the credential type via an expression. Because the pre-execution permission check compares the unresolved expression instead of the resolved credential type, the ownership check is skipped and the credential is loaded at execution time, allowing the member to use or exfiltrate a credential they were not granted. Exploitation requires knowing the target credential's identifier.","status":"published","published":"2026-08-11T12:17:12Z","modified":"2026-10-29T21:16:46Z","cvss":[{"version":"4.0","score":7.1,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:H/SA:N","level":"high"}],"updated_at":"2026-11-02T16:59:13.894662Z"}],"ghsa":[{"id":"GHSA-6qc9-mqvw-jg7x","title":"n8n: Credential Authorization Bypass via Expression in HTTP Request Node `genericAuthType`","description":"## Impact\n\nAn authenticated member with edit access to a shared workflow could reference another user's credential in an HTTP Request node while specifying the credential type through an expression. Because the pre-execution permission check compared the unresolved expression instead of the real credential type, the ownership check was skipped and the credential was loaded at execution time, letting the member use or exfiltrate a credential they were never granted. Exploitation required knowing the target credential's identifier.\n\n## Patches\n\nThe issue has been fixed in n8n versions 1.123.67, 2.31.5, and 2.32.1. Users should upgrade to one of these versions or later to remediate the vulnerability.\n\n## Workarounds\n\nIf upgrading is not immediately possible, administrators should consider the following temporary mitigations:\n- Restrict n8n instance access to fully trusted users only.\n- Exclude the HTTP Request node by adding `n8n-nodes-base.httpRequest` to the `NODES_EXCLUDE` environment variable, if the node is not required.\n- Audit credential sharing and workflow access to limit exposure of credential IDs to untrusted users.\n\nThese workarounds do not fully remediate the risk and should only be used as short-term mitigation measures.","status":"published","published":"2026-07-22T22:10:41Z","modified":"2026-07-22T22:10:43Z","cvss":[{"version":"4.0","score":7.1,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:H/SA:N","level":"high"}],"cwes":["CWE-863"],"updated_at":"2026-11-02T14:40:51.375752Z"},{"id":"GHSA-r3ww-gmwx-48xw","title":"n8n before 1.123.67, 2.31.5, and 2.32.1 contains a credential authorization bypass in the HTTP...","description":"n8n before 1.123.67, 2.31.5, and 2.32.1 contains a credential authorization bypass in the HTTP Request node. An authenticated member with edit access to a shared workflow can reference another user's credential while specifying the credential type via an expression. Because the pre-execution permission check compares the unresolved expression instead of the resolved credential type, the ownership check is skipped and the credential is loaded at execution time, allowing the member to use or exfiltrate a credential they were not granted. Exploitation requires knowing the target credential's identifier.","status":"published","published":"2026-08-11T15:32:38Z","modified":"2026-09-18T21:32:42Z","cvss":[{"version":"4.0","score":7.1,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"high"},{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-639"],"updated_at":"2026-11-02T15:12:12.782251Z"}],"nvd":[{"id":"CVE-2026-72774","description":"n8n before 1.123.67, 2.31.5, and 2.32.1 contains a credential authorization bypass in the HTTP Request node. An authenticated member with edit access to a shared workflow can reference another user's credential while specifying the credential type via an expression. Because the pre-execution permission check compares the unresolved expression instead of the resolved credential type, the ownership check is skipped and the credential is loaded at execution time, allowing the member to use or exfiltrate a credential they were not granted. Exploitation requires knowing the target credential's identifier.","status":"published","published":"2026-08-11T13:19:07.893Z","modified":"2026-10-29T21:17:31.717Z","cvss":[{"version":"4.0","score":7.1,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"high","assessor":"secondary"},{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-639"],"updated_at":"2026-11-02T14:12:36.499002Z"}],"osv":[{"id":"CVE-2026-72774","title":"n8n before 1.123.67 Authentication Bypass via HTTP Request Node","description":"n8n before 1.123.67, 2.31.5, and 2.32.1 contains a credential authorization bypass in the HTTP Request node. An authenticated member with edit access to a shared workflow can reference another user's credential while specifying the credential type via an expression. Because the pre-execution permission check compares the unresolved expression instead of the resolved credential type, the ownership check is skipped and the credential is loaded at execution time, allowing the member to use or exfiltrate a credential they were not granted. Exploitation requires knowing the target credential's identifier.","status":"published","published":"2026-08-11T12:17:12.713Z","modified":"2026-10-31T02:30:29.758048719Z","cvss":[{"version":"4.0","score":7.1,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:H/SA:N","level":"high"}],"cwes":["CWE-639"],"updated_at":"2026-11-02T15:45:15.88521Z"},{"id":"GHSA-6qc9-mqvw-jg7x","title":"n8n: Credential Authorization Bypass via Expression in HTTP Request Node `genericAuthType`","description":"## Impact\n\nAn authenticated member with edit access to a shared workflow could reference another user's credential in an HTTP Request node while specifying the credential type through an expression. Because the pre-execution permission check compared the unresolved expression instead of the real credential type, the ownership check was skipped and the credential was loaded at execution time, letting the member use or exfiltrate a credential they were never granted. Exploitation required knowing the target credential's identifier.\n\n## Patches\n\nThe issue has been fixed in n8n versions 1.123.67, 2.31.5, and 2.32.1. Users should upgrade to one of these versions or later to remediate the vulnerability.\n\n## Workarounds\n\nIf upgrading is not immediately possible, administrators should consider the following temporary mitigations:\n- Restrict n8n instance access to fully trusted users only.\n- Exclude the HTTP Request node by adding `n8n-nodes-base.httpRequest` to the `NODES_EXCLUDE` environment variable, if the node is not required.\n- Audit credential sharing and workflow access to limit exposure of credential IDs to untrusted users.\n\nThese workarounds do not fully remediate the risk and should only be used as short-term mitigation measures.","status":"published","published":"2026-07-22T22:10:41Z","modified":"2026-08-12T04:26:13.397610937Z","cvss":[{"version":"4.0","score":7.1,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:H/SA:N","level":"high"}],"cwes":["CWE-863"],"updated_at":"2026-11-02T15:46:39.965326Z"},{"id":"ROOT-APP-NPM-GHSA-6qc9-mqvw-jg7x","title":"GHSA-6qc9-mqvw-jg7x in n8n - Patched by Root","description":"Root has patched GHSA-6qc9-mqvw-jg7x in the n8n package for Root:npm. Multiple fixed versions available.","status":"published","published":"2026-10-06T03:42:47Z","modified":"2026-10-06T04:15:03.046559873Z","updated_at":"2026-11-02T15:53:27.940619Z"}]}}
