Description
n8n before versions 1.123.61, 2.27.4, and 2.28.1 contains a permission bypass vulnerability in external secrets handling caused by a mismatch between the static validation check and the runtime expression engine. An authenticated user with credential create or update permissions but without the externalSecret:list scope can embed external secret references into credentials in forms the static validation does not detect; these references resolve at workflow execution time, exposing secret values the user is not authorized to access. This issue only affects instances where an external secrets provider is configured and Advanced Permissions are in use.
Published: 2026-07-15
Score: 6 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability arises from a mismatch between static validation checks on credential forms and the runtime expression engine used by n8n. An authenticated user who can create or update credentials but does not possess the externalSecret:list scope can embed references to external secrets in the form fields. The static validation does not detect these references, yet the expression engine resolves them at workflow execution time, leaking secret values to the attacker. This flaw represents a privilege‑level bypass that allows an unauthorized user to read protected data, classifying it as a CWE-639 weakness.

Affected Systems

Instances running n8n prior to version 1.123.61, 2.27.4, or 2.28.1 are affected when an external secrets provider is configured and Advanced Permissions are enabled. Users who have permission to create or update credentials but lack the externalSecret:list scope can exploit this flaw by embedding malicious references into credentials, thereby gaining access to secrets they should not see.

Risk and Exploitability

The recorded CVSS score of 6 indicates moderate severity, and the EPSS value of less than 1% suggests a low likelihood of exploitation. The vulnerability is not listed in CISA KEV, so no widespread exploitation has been reported. An attacker needs to be authenticated and have creation or update rights for credentials, making the attack feasible in environments where such permissions are granted without the necessary externalSecret:list scope. Once exploited, the attacker can obtain any external secret referenced in the injected expressions.

Generated by OpenCVE AI on July 31, 2026 at 04:00 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade n8n to the latest release that includes the expression parser fix (at least v1.123.61, v2.27.4, or v2.28.1).
  • Restrict credential create and update permissions for users who do not have the externalSecret:list scope to prevent injection of external secret references.
  • If external secrets are not required, disable the external secrets provider or Advanced Permissions in the n8n configuration to eliminate the attack surface.

Generated by OpenCVE AI on July 31, 2026 at 04:00 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-jp7m-xcgx-57qm n8n: External Secrets Permission Bypass via Expression Parser Mismatch
History

Wed, 15 Jul 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 15 Jul 2026 12:00:00 +0000

Type Values Removed Values Added
Description n8n before versions 1.123.61, 2.27.4, and 2.28.1 contains a permission bypass vulnerability in external secrets handling caused by a mismatch between the static validation check and the runtime expression engine. An authenticated user with credential create or update permissions but without the externalSecret:list scope can embed external secret references into credentials in forms the static validation does not detect; these references resolve at workflow execution time, exposing secret values the user is not authorized to access. This issue only affects instances where an external secrets provider is configured and Advanced Permissions are in use.
Title n8n - Permission Bypass via Expression Parser Mismatch in External Secrets
First Time appeared N8n
N8n n8n
Weaknesses CWE-639
CPEs cpe:2.3:a:n8n:n8n:*:*:*:*:enterprise:node.js:*:*
Vendors & Products N8n
N8n n8n
References
Metrics cvssV4_0

{'score': 6, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-07-15T18:47:38.895Z

Reserved: 2026-07-04T12:17:14.302Z

Link: CVE-2026-59259

cve-icon Vulnrichment

Updated: 2026-07-15T18:47:35.380Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-31T04:00:15Z

Weaknesses
  • CWE-639

    Authorization Bypass Through User-Controlled Key