n8n's Execute Sub-workflow node let any editor-level collaborator reference a credential ID inside inline workflow JSON that they weren't otherwise permitted to use, and that reference passed both save-time and runtime authorization checks, letting the credential resolve in the parent workflow's project context. For CISOs running n8n to orchestrate AI agents, this is an insider-privilege-escalation risk: any workflow shared with an Editor-level teammate becomes a potential path to LLM API keys, vector database credentials, or other secrets scoped to more trusted users. There's no public exploit, no CISA KEV listing, and no EPSS score yet — this is a fresh GHSA disclosure (2026-07-22), not an actively-exploited bug — but the vendor rates it 'high' severity and the package already carries 166 other CVEs and a middling 6.6/10 OpenSSF Scorecard, with 16 downstream dependents that could inherit the same trust-boundary gap in their own n8n integrations. Patch to 1.123.67, 2.31.5, or 2.32.1 immediately; until then, restrict workflow sharing to fully trusted users, avoid granting Editor access on workflows tied to sensitive credentials, and audit existing Execute Sub-workflow nodes with Source='Parameter' for inline JSON referencing credential IDs the editor shouldn't have.
What is the risk?
Exploitability is gated by prerequisites — workflow sharing must be enabled, the attacker needs an explicitly-granted Editor role on a shared workflow, and they must know the target credential's ID — so this is not remotely exploitable by an anonymous or unauthenticated actor. It is best characterized as a privilege-escalation / lateral-movement bug within multi-user n8n deployments: a partially-trusted collaborator (contractor, cross-team editor, disgruntled insider) can reach credentials scoped to more privileged users. No CVSS vector, EPSS score, or KEV listing is available, and no public exploit or Nuclei template exists, consistent with a same-day disclosure rather than an actively-weaponized bug — but the CWE-863 (Incorrect Authorization) root cause is a well-understood, easy-to-automate bug class once an attacker has the prerequisite access, so risk should be treated as high wherever workflow sharing is in use alongside sensitive AI/API credentials.
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| n8n | npm | < 1.123.67 | 1.123.67 |
Do you use n8n? You're affected.
How severe is it?
What should I do?
1 step-
Upgrade to n8n 1.123.67, 2.31.5, or 2.32.1 (or later) — this is the only complete fix. Until upgraded: restrict workflow sharing to fully trusted users, and never grant Editor access on workflows using sensitive credentials to anyone outside that credential's intended trust boundary. Audit all shared workflows for Execute Sub-workflow nodes with Source='Parameter' and manually review their inline workflow JSON for credential IDs that shouldn't be reachable by that workflow's editors. Restrict egress from the n8n instance to known-good endpoints to blunt exfiltration if a credential is misused. For detection, monitor credential-usage logs for executions where the credential ID used doesn't match the credentials explicitly attached to that workflow's top-level nodes.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is GHSA-cj9h-qx8g-pq2g?
n8n's Execute Sub-workflow node let any editor-level collaborator reference a credential ID inside inline workflow JSON that they weren't otherwise permitted to use, and that reference passed both save-time and runtime authorization checks, letting the credential resolve in the parent workflow's project context. For CISOs running n8n to orchestrate AI agents, this is an insider-privilege-escalation risk: any workflow shared with an Editor-level teammate becomes a potential path to LLM API keys, vector database credentials, or other secrets scoped to more trusted users. There's no public exploit, no CISA KEV listing, and no EPSS score yet — this is a fresh GHSA disclosure (2026-07-22), not an actively-exploited bug — but the vendor rates it 'high' severity and the package already carries 166 other CVEs and a middling 6.6/10 OpenSSF Scorecard, with 16 downstream dependents that could inherit the same trust-boundary gap in their own n8n integrations. Patch to 1.123.67, 2.31.5, or 2.32.1 immediately; until then, restrict workflow sharing to fully trusted users, avoid granting Editor access on workflows tied to sensitive credentials, and audit existing Execute Sub-workflow nodes with Source='Parameter' for inline JSON referencing credential IDs the editor shouldn't have.
Is GHSA-cj9h-qx8g-pq2g actively exploited?
No confirmed active exploitation of GHSA-cj9h-qx8g-pq2g has been reported, but organizations should still patch proactively.
How to fix GHSA-cj9h-qx8g-pq2g?
Upgrade to n8n 1.123.67, 2.31.5, or 2.32.1 (or later) — this is the only complete fix. Until upgraded: restrict workflow sharing to fully trusted users, and never grant Editor access on workflows using sensitive credentials to anyone outside that credential's intended trust boundary. Audit all shared workflows for Execute Sub-workflow nodes with Source='Parameter' and manually review their inline workflow JSON for credential IDs that shouldn't be reachable by that workflow's editors. Restrict egress from the n8n instance to known-good endpoints to blunt exfiltration if a credential is misused. For detection, monitor credential-usage logs for executions where the credential ID used doesn't match the credentials explicitly attached to that workflow's top-level nodes.
What systems are affected by GHSA-cj9h-qx8g-pq2g?
This vulnerability affects the following AI/ML architecture patterns: agent frameworks, AI workflow orchestration, credential/secrets management for AI integrations.
What is the CVSS score for GHSA-cj9h-qx8g-pq2g?
No CVSS score has been assigned yet.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0012 Valid Accounts AML.T0083 Credentials from AI Agent Configuration AML.T0106 Exploitation for Credential Access Compliance Controls Affected
What are the technical details?
Original Advisory
## 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.
Exploitation Scenario
A contractor or cross-team collaborator is granted Editor access to a shared n8n workflow that orchestrates a low-sensitivity AI agent task (e.g., a marketing content generator). Through prior access or workflow inspection, they learn the credential ID used by a separate, more sensitive workflow — say, the OpenAI API key tied to finance's automation, or a production vector database connection. They add an Execute Sub-workflow node to their own workflow, set Source to 'Parameter', and hand-craft the inline workflow JSON to reference that credential ID directly, bypassing the UI's normal credential picker. Because n8n only validated top-level node credentials and not those embedded in inline sub-workflow JSON, the reference passes save-time and runtime checks; on execution, n8n resolves the credential in the parent workflow's project context, letting the attacker route API calls through it (running up the victim's bill or accessing protected data) or add a follow-on node that forwards the resolved secret value to an attacker-controlled endpoint.
Weaknesses (CWE)
CWE-863 — Incorrect Authorization: The product performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check.
- [Architecture and Design] Divide the product into anonymous, normal, privileged, and administrative areas. Reduce the attack surface by carefully mapping roles with data and functionality. Use role-based access control (RBAC) [REF-229] to enforce the roles at the appropriate boundaries. Note that this approach may not protect against horizontal authorization, i.e., it will not protect a user from attacking others with the same role.
- [Architecture and Design] Ensure that access control checks are performed related to the business logic. These checks may be different than the access control checks that are applied to more generic resources such as files, connections, processes, memory, and database records. For example, a database may restrict access for medical records to a specific database user, but each record might only be intended to be accessible to the patient and the patient's doctor [REF-7].
Source: MITRE CWE corpus.
References
- github.com/advisories/GHSA-cj9h-qx8g-pq2g
- github.com/n8n-io/n8n/commit/f69dfc6dd2178a14ea1624d2e1d403c2e755042f
- github.com/n8n-io/n8n/releases/tag/n8n@1.123.67
- github.com/n8n-io/n8n/releases/tag/n8n@2.31.5
- github.com/n8n-io/n8n/releases/tag/n8n@2.32.1
- github.com/n8n-io/n8n/security/advisories/GHSA-cj9h-qx8g-pq2g
Timeline
Related Vulnerabilities
CVE-2026-33663 10.0 n8n: member role steals plaintext HTTP credentials
Same package: n8n CVE-2026-33660 10.0 TensorFlow: type confusion NPD in tensor conversion
Same package: n8n CVE-2026-21858 10.0 n8n: Input Validation flaw enables exploitation
Same package: n8n CVE-2025-68668 9.9 n8n: Protection Bypass circumvents security controls
Same package: n8n CVE-2026-27495 9.9 n8n: Code Injection enables RCE
Same package: n8n