CVE-2026-65594: n8n: Member-Level Users Can Execute Other Users' MCP Server Trigger Workflows via Missing OAuth Authorization Check
In n8n 2.27.0 and later, a member-level user can obtain an OAuth token for another user's MCP Server Trigger workflow and run it. The OAuth consent flow never checks that the user may access the workflow. The workflow runs with the owner's stored credentials. Fixed in n8n 2.29.8 and 2.30.1.
Published Jul 22, 2026 · Analysis Oct 25, 2026
What an attacker can do
n8n 2.27.0 added an OAuth 2.1 consent and token-issuance flow for MCP Server Trigger nodes set to n8n OAuth2 authentication. That flow does not check whether the signed-in user has access to the workflow named as the OAuth resource. A member can register an OAuth client, approve the consent screen for themselves, and receive a valid token for a workflow owned by someone else.
With the token, the attacker calls the workflow as an MCP tool. They set the tool inputs and read the outputs. The workflow runs in the owner's project, using the owner's stored credentials. If it connects to a mail account, CRM, database or cloud API, the attacker can drive those integrations and read what they return. This breaks user and project isolation.
The runs are logged under the owner's account, and the attacker cannot see them. That helps an attacker stay quiet and means the owner sees activity they did not start.
The precondition is a member account on the instance and at least one active workflow with an MCP Server Trigger using n8n OAuth2. Instances with only trusted users, or no such workflow, are not exposed.
Who is affected
The npm package n8n at version 2.27.0 up to, but not including, 2.29.8, and 2.30.0. The flaw needs the OAuth 2.1 flow that arrived in 2.27.0, so earlier versions lack it. It only applies where at least one active workflow uses an MCP Server Trigger node with n8n OAuth2 authentication.
npm ls n8nThen list your active workflows and look for MCP Server Trigger nodes whose authentication is n8n OAuth2.
n8n
- Ecosystem
- npm
- Affected
- >= 2.30.0, < 2.30.1
- Fixed in
- 2.30.1
- Check
npm ls n8n
n8n
- Ecosystem
- npm
- Affected
- < 2.29.8
- Fixed in
- 2.29.8
- Check
npm ls n8n
How to fix it
Upgrade to n8n 2.29.8 or 2.30.1, or later.
The advisory's temporary measures, which it says do not fully remove the risk:
- Limit instance access to fully trusted users.
- Audit active workflows that use an MCP Server Trigger with
n8n OAuth2authentication. Switch them to another authentication method, or deactivate them until you patch.
After upgrading, review which OAuth clients exist and remove any you do not recognize.
How to tell if you were hit
Look at the executions of every workflow that has an MCP Server Trigger with n8n OAuth2. Runs you did not start, or runs at odd times, are suspect. Remember that attacker-driven runs show up under the owner's account. Then check for OAuth clients registered by member users who have no reason to use MCP, and for consent approvals on workflows those users do not own.
For the integrations those workflows use, check the provider's audit log for actions that match the workflow's tools. Rotate the credentials stored in any workflow that looks abused.
Original advisory
From the GitHub Advisory Database (CC BY 4.0).
Impact
The OAuth 2.1 consent and token-issuance flow introduced in n8n 2.27.0 does not verify that the authenticated user has access to the workflow referenced as the OAuth resource. A member-level user can register an OAuth client, self-approve consent for another user's n8n OAuth2-protected MCP Server Trigger workflow, and obtain a valid token for it.
The workflow runs in the owner's project context with the owner's stored credentials. The attacker sets the tool inputs and reads the outputs, which may include data from the owner's connected integrations, breaking user and project isolation. The resulting executions appear under the owner's account and are not visible to the attacker.
This issue only affects instances running n8n 2.27.0 or later where at least one active workflow uses an MCP Server Trigger node configured with n8n OAuth2 authentication.
Patches
The issue has been fixed in n8n versions 2.29.8 and 2.30.1. Users should upgrade to one of these versions 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.
- Audit active workflows using the MCP Server Trigger with
n8n OAuth2authentication and consider switching to a different authentication method or deactivating them until the patch is applied.
These workarounds do not fully remediate the risk and should only be used as short-term mitigation measures.
Credited to momenashrafff.
Questions
- Who can exploit CVE-2026-65594?
A member-level user on the same n8n instance. They register an OAuth client, approve consent for another user's workflow, and get a token. No admin rights are required.
- Which n8n versions are affected?
Instances on 2.27.0 or later that are below 2.29.8, plus 2.30.0. The OAuth 2.1 flow came with 2.27.0. The fixes are 2.29.8 and 2.30.1.
- Can the owner see the attacker's executions?
Yes, as the advisory states, the executions appear under the owner's account. The attacker cannot see them, but can read the outputs through the tool response.
- Am I affected if I do not use MCP Server Trigger nodes?
The advisory says it applies only where an active workflow uses an MCP Server Trigger node configured with
n8n OAuth2authentication.
References
Read for this analysis:
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. The analysis is written by an AI model from the sources listed above and checked by automated rules before it is published. Check versions against the vendor's advisory before you act. Methodology
More n8n vulnerabilities
All n8n entriesCVE-2026-86073
n8n: Per-Resource OAuth Consent Bypass via Unbound Refresh Token Resource Substitution
medium5.9Sep 10, 2026CVE-2026-86074
n8n: Instance AI Credential Setup Accepts Unvalidated Probe URL from Fetched Content
medium5.9Sep 10, 2026CVE-2026-86075
n8n: Unauthenticated Persistent Storage Exhaustion via OAuth Dynamic Client Registration Endpoint
high8.7Sep 10, 2026CVE-2026-86076
n8n: Expression Sandbox Escape via Class-Field Sanitizer Rebinding Can Lead to Code Execution
high8.7Sep 10, 2026CVE-2026-86077
n8n: Anonymous Approval-Gate Bypass via Reused resumeToken over the Chat WebSocket
medium6.3Sep 10, 2026CVE-2026-86078
n8n: Prototype Pollution via Workflow Structure Summary Can Lead to Denial of Service
medium6.0Sep 10, 2026
