GHSA-cj9h-qx8g-pq2g: n8n: Shared-Workflow Editor Can Exfiltrate Credentials via Inline Sub-Workflow JSON
n8n validated credential access only on a node's top-level credentials, not on credentials named inside the inline workflow JSON of an Execute Sub-workflow node. An Editor on a shared workflow could use or exfiltrate a credential they had no right to. They must know the credential's ID. Fixed in n8n 1.123.67, 2.31.5 and 2.32.1.
Published Jul 22, 2026 · Analysis Oct 25, 2026
What an attacker can do
The Execute Sub-workflow node can take its workflow as inline JSON (Source = "Parameter"). n8n's credential checks looked at the credentials on a node itself, but not at those embedded in that inline definition (CWE-863). A member with Editor access to a shared workflow could put a credential they were not allowed to use inside the inline JSON. It passed validation when the workflow was saved and again at runtime. It then resolved in the parent workflow's project context, so the credential worked.
The attacker needs workflow sharing to be enabled and explicit Editor access on a shared workflow. They also need the target credential's ID. With those, they can run requests with someone else's credential, or send it to an endpoint they control. The CVSS 4.0 vector lists high confidentiality impact on the instance and on connected systems, because stolen credentials unlock external services.
The risk is greatest in shared n8n projects where Editors are less trusted than credential owners.
Who is affected
Affected: n8n below 1.123.67 on the 1.x line, 2.0.0-rc.0 up to but not including 2.31.5, and 2.32.0. Only instances with workflow sharing enabled where untrusted users hold Editor access on shared workflows are practically exposed.
Check the version:
npm ls n8nThen look for Execute Sub-workflow nodes with Source set to Parameter in shared workflows.
n8n
- Ecosystem
- npm
- Affected
- < 1.123.67
- Fixed in
- 1.123.67
- Check
npm ls n8n
n8n
- Ecosystem
- npm
- Affected
- >= 2.32.0, < 2.32.1
- Fixed in
- 2.32.1
- Check
npm ls n8n
n8n
- Ecosystem
- npm
- Affected
- >= 2.0.0-rc.0, < 2.31.5
- Fixed in
- 2.31.5
- Check
npm ls n8n
How to fix it
Upgrade to n8n 1.123.67, 2.31.5 or 2.32.1, or later. For an npm install, run npm install [email protected].
Temporary mitigations from the advisory, none of which fully remove the risk:
- Limit workflow sharing to fully trusted users. Do not give Editor access to untrusted members on workflows that use sensitive credentials.
- Audit shared workflows for Execute Sub-workflow nodes with Source = "Parameter" and review the inline definitions for unexpected credential references.
- Restrict network egress from the n8n instance to block attacker-controlled endpoints.
How to tell if you were hit
Open shared workflows that contain Execute Sub-workflow nodes with Source = "Parameter". Read the inline JSON for credential references, and compare each credential ID with the credentials the workflow's author may use. Flag any ID that belongs to another project. Check outbound traffic from the n8n host for connections to unfamiliar endpoints, and check the target services' logs for use of those credentials from n8n at odd times.
Original advisory
From the GitHub Advisory Database (CC BY 4.0).
Impact
n8n's credential-access checks validated only a node's top-level credentials, not credentials referenced inside an Execute Sub-workflow node's inline workflow JSON. A member with editor access to a shared workflow could reference a credential they were not permitted to use inside that inline JSON; it passed both save-time and runtime validation and resolved in the parent workflow's project context, letting the member use or exfiltrate a credential they could not otherwise access.
Exploitation requires workflow sharing to be enabled and the attacker to have been explicitly granted Editor access to a shared workflow. The attacker must also know the target credential's ID.
Patches
The 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.
Workarounds
If upgrading is not immediately possible, administrators should consider the following temporary mitigations:
- Restrict workflow sharing to fully trusted users only, and avoid granting Editor access to untrusted members on workflows that use sensitive credentials.
- Audit shared workflows for Execute Sub-workflow nodes with Source = "Parameter" and review their inline workflow definitions for unexpected credential references.
- Restrict network egress from the n8n instance to prevent connections to attacker-controlled endpoints.
These workarounds do not fully remediate the risk and should only be used as short-term mitigation measures.
Credited to nlgbao1340.
Questions
- What conditions does GHSA-cj9h-qx8g-pq2g need?
Workflow sharing must be enabled, the attacker must hold explicit Editor access to a shared workflow, and they must know the target credential's ID.
- Why did save-time validation not catch it?
The check covered only a node's top-level credentials. Credentials inside the inline workflow JSON of an Execute Sub-workflow node were not examined, at save time or at runtime.
- Which versions are patched?
n8n 1.123.67, 2.31.5 and 2.32.1, or later.
- Is there a CVE or known exploitation?
The entry lists no CVE id. The sources do not report exploitation in the wild, and it is not in CISA's KEV catalog.
References
Read for this analysis:
- https://github.com/n8n-io/n8n/commit/f69dfc6dd2178a14ea1624d2e1d403c2e755042f
- https://github.com/n8n-io/n8n/releases/tag/[email protected]
- https://github.com/n8n-io/n8n/releases/tag/[email protected]
- https://github.com/n8n-io/n8n/releases/tag/[email protected]
- https://github.com/advisories/GHSA-cj9h-qx8g-pq2g
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
