Skip to main content
Vulnerability Database/CVE-2026-103247

CVE-2026-103247: n8n Workflow Auth Bypass Vulnerability

CVE-2026-103247 is an authentication bypass flaw in n8n workflow automation that allows attackers to tamper with credentials through duplicate node IDs. This post explains its impact, affected versions, and mitigation steps.

Published:

CVE-2026-103247 Overview

CVE-2026-103247 is a credential tampering vulnerability in n8n workflow automation versions before 1.123.80. The flaw exists in the workflow credential tamper guard, which matches nodes using both ID and name. Duplicate node IDs with mismatched names bypass this check, allowing attackers with editor access to shared workflows to retain victim credentials while redirecting secrets to attacker-controlled hosts. The weakness is classified under CWE-639: Authorization Bypass Through User-Controlled Key.

Critical Impact

Authenticated attackers with editor permissions on shared workflows can exfiltrate credentials belonging to other collaborators by routing authenticated requests to attacker-controlled endpoints.

Affected Products

  • n8n workflow automation platform, all versions prior to 1.123.80
  • Self-hosted and cloud deployments sharing workflows across users
  • Any n8n instance where multiple editors collaborate on credentialed workflows

Discovery Timeline

  • 2026-10-01 - CVE-2026-103247 published to NVD
  • 2026-10-01 - Last updated in NVD database

Technical Details for CVE-2026-103247

Vulnerability Analysis

n8n enforces a credential tamper guard to prevent a user from substituting credentials belonging to another collaborator in a shared workflow. The guard compares nodes between the stored workflow and the submitted update using a composite key of node ID and node name. The matching logic assumes node IDs are unique within a workflow.

The tamper guard fails when a workflow contains duplicate node IDs with different names. An attacker with editor access can craft a workflow update that pairs a legitimate node ID with an altered name, bypassing the equality check. The guard then permits the modified node to retain the original credential binding while the attacker reassigns the destination host, URL, or request target.

Secrets attached to the credential, including API keys and OAuth tokens, are transmitted to attacker-controlled infrastructure during the next workflow execution. The confidentiality impact is scoped to credentials the victim has shared on affected workflows.

Root Cause

The root cause is an incomplete equivalence check in the workflow update path. The tamper guard treats the pair of node ID and name as the identity key but does not enforce uniqueness of node IDs within a workflow. Duplicate IDs produce ambiguous matches that the guard resolves in favor of the attacker-submitted node, binding another user's credential to an attacker-controlled configuration.

Attack Vector

Exploitation requires authenticated editor access to a shared workflow that already contains credentials owned by another user. The attacker submits a workflow update introducing a duplicate node ID with a different name. The guard permits the change, the victim's credential remains attached, and subsequent executions send authenticated traffic to the attacker's host. No user interaction from the victim beyond normal workflow execution is required.

Review the GitHub Security Advisory GHSA-7gjv-rcf8-x5qc and the VulnCheck advisory on n8n credential tampering for additional technical context.

Detect Identity Attacks the Moment Authentication Fails

Singularity™ Identity surfaces credential misuse, lateral movement, and privilege escalation in real time, so you can contain the breach before it spreads.

Stop Identity Attacks

Detection Methods for CVE-2026-103247

Indicators of Compromise

  • Workflow revisions that introduce nodes sharing the same ID as an existing node but with a different name.
  • Credential-bearing nodes making outbound requests to hosts, URLs, or webhook endpoints not previously seen in workflow telemetry.
  • Workflow audit entries showing edits by users who have editor but not owner rights on shared workflows containing third-party credentials.

Detection Strategies

  • Diff workflow JSON exports and flag any workflow whose node collection contains duplicate id values.
  • Alert on changes to request target fields (url, host, endpoint) in nodes that reference credentials owned by another user.
  • Correlate n8n audit logs with egress proxy data to identify outbound requests from credentialed nodes to newly introduced external hosts.

Monitoring Recommendations

  • Forward n8n audit logs and execution logs to a central logging platform and retain workflow revision history for forensic review.
  • Monitor outbound network traffic from n8n worker hosts for connections to unapproved domains, especially during credentialed executions.
  • Track credential usage metrics per workflow and alert when a credential begins issuing requests to a new destination.

How to Mitigate CVE-2026-103247

Immediate Actions Required

  • Upgrade all n8n instances to version 1.123.80 or later without delay.
  • Audit shared workflows for duplicate node IDs and revert any suspicious revisions introduced by non-owner editors.
  • Rotate credentials shared on workflows that were editable by other users prior to patching, prioritizing high-value API keys and OAuth tokens.

Patch Information

n8n addressed the vulnerability in version 1.123.80. The fix hardens the credential tamper guard so that duplicate node IDs no longer bypass credential ownership checks. Patch details are published in GitHub Security Advisory GHSA-7gjv-rcf8-x5qc.

Workarounds

  • Restrict editor permissions on workflows containing shared credentials to trusted users only until the upgrade is complete.
  • Separate sensitive credentials into workflows that are not shared with additional editors.
  • Implement an egress allowlist on n8n worker hosts so credentialed requests can only reach approved destinations.
bash
# Upgrade n8n to the patched release
npm install -g n8n@1.123.80

# Docker deployment
docker pull n8nio/n8n:1.123.80
docker stop n8n && docker rm n8n
docker run -d --name n8n -p 5678:5678 n8nio/n8n:1.123.80

# Verify installed version
n8n --version

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.