/

CVE-2026-103252

Severity:

HIGH RISK

(7.7)

Authorization Bypass (CWE-639) in n8n Credential API

CVE-2026-103252

Deferred

Vulnerability type

Category:

Authorization Bypass

CWE:

CWE-639

Impact:

Sensitive Data Exfiltration

Severity:

HIGH RISK

(7.7)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

An authorization bypass in n8n's credential test endpoint allows a caller to submit an arbitrary project identifier and resolve variables belonging to another project.

When those variables are interpolated into credential test requests sent to an attacker-controlled host, sensitive values may be disclosed. The issue becomes risky when the endpoint accepts user-controlled project references without verifying project access.

Affected context

The vulnerability occurs in n8n deployments where the credential test endpoint:

  • Accepts a project identifier in the request body
  • Resolves project-scoped variables during credential testing
  • Does not confirm that the requesting user can access the specified project
  • Can send the resulting request to a host controlled by the requester or an attacker

Exposure depends on endpoint availability, project isolation settings, and the sensitivity of variables accessible through credential testing.

Exploit preconditions

  • Attack surface: The n8n credential test endpoint
  • Required access: Access sufficient to invoke the endpoint, subject to deployment authentication and endpoint exposure
  • Trigger point: A credential test request containing a user-controlled project identifier
  • Why exploitation is possible: The endpoint resolves variables for the supplied project before enforcing effective project-level authorization, allowing cross-project data to enter an outbound request

Why this happens

The underlying flaw is an authorization failure caused by trusting a user-controlled object identifier when resolving project-scoped data.

The endpoint uses the supplied project ID to retrieve or interpolate variables without establishing that the caller is authorized for that project. This behavior maps to CWE-639: Authorization Bypass Through User-Controlled Key, because access control is not reliably enforced for a resource selected through attacker-influenced input.

Potential impact

  • Sensitive project variables may be disclosed to an attacker-controlled host
  • Credentials, tokens, or configuration secrets could be exposed
  • Cross-project confidentiality boundaries may be weakened
  • Attackers could use leaked values to access connected services
  • Security monitoring may record the outbound request without identifying the original data exposure

General mitigation guidance

Mitigation generally focuses on enforcing authorization at the point where project-scoped variables are resolved.

Common defensive patterns include:

  • Deriving the effective project from the authenticated session and permitted resource context
  • Verifying project membership and authorization before reading or interpolating variables
  • Rejecting arbitrary project identifiers that are not bound to the caller's authorized scope
  • Applying strict allowlists for outbound credential-test destinations
  • Minimizing secret interpolation and redacting sensitive values from test requests and logs
  • Running integrations with least-privilege credentials and limiting cross-project data access

How teams detect issues like this

Organizations can look for this class of issue through:

  • Static analysis rules that flag resource lookups based directly on request identifiers without nearby authorization checks
  • Code review of credential testing, variable interpolation, and project-scoped data access paths
  • Tests that attempt cross-project access using valid identities and altered resource identifiers
  • API policy checks requiring authorization decisions before secret resolution or outbound requests
  • Network monitoring for credential-test requests containing unexpected sensitive values or unusual destinations

Automated code review and security testing tools may help identify missing object-level authorization checks, but should be complemented by authorization-focused integration tests.

Sources

SourceLink
github.comgithub.com/n8n-io/n8n/security/advisories/GHSA-7gvh-q9w3-wqqx
vulncheck.comvulncheck.com/advisories/n8n-before-1.123.80-2.39.6-and-2.40.1-information-disclosure-via-credential-test-endpoint

Frequently asked

questions

It may be exploitable through the n8n API when the credential test endpoint is reachable and the attacker has enough access to submit test requests. The practical scope depends on authentication, network exposure, and endpoint policy.

No. The issue is specifically that a caller may provide another project identifier without effective authorization for that project. Some authenticated or otherwise endpoint-specific access may still be required.

Enforce object-level authorization before resolving any project-scoped variables, and bind resource selection to the caller's permitted project context rather than trusting request-body identifiers.

Use centralized authorization checks, test cross-project access boundaries, restrict outbound destinations, minimize secret exposure during diagnostic requests, and monitor for unexpected variable resolution or data egress.

Find out what's already
exploitable in your codebase.