mediumAgent ThreatPrivilege Abuse

n8n GraphQL Node Domain Restriction Bypass Leading to Credential Exfiltration

First seen Jul 23, 2026 · Updated Jul 23, 2026

n8nworkflow-automationcredential-exfiltrationssrfdomain-allowlist-bypassgraphqlauthorization-bypassASI04 · Agentic Supply ChainSurface: Tool LayerPropagation: None

n8n's GraphQL node failed to enforce the 'Allowed HTTP Request Domains' restriction that is applied to HTTP-based credentials, unlike its HTTP Request node counterpart. An authenticated user with workflow editing rights could exploit this gap to point the GraphQL node at an attacker-controlled server and exfiltrate credentials that were supposed to be domain-restricted. This is a moderate-severity authorization bypass affecting multi-tenant or shared-credential n8n deployments, fixed in recent releases.

Technical Analysis

n8n allows administrators to restrict which domains a given HTTP-based credential (Header Auth, Basic Auth, Query Auth, OAuth) can be used against via the 'Allowed HTTP Request Domains' setting, intended to let credentials be safely shared with less-trusted users. The HTTP Request node enforces this allowlist, but the GraphQL node — which also consumes these credential types to make outbound HTTP calls — did not apply the same check. An authenticated user able to create or edit workflows could configure a GraphQL node to send requests to a server they control while attaching a restricted credential, causing n8n to transmit the credential (headers/auth tokens) to the attacker's endpoint. This crosses a trust boundary between the credential owner (who granted restricted, domain-scoped access) and lower-privileged workflow editors, effectively acting as a tool-layer capability that silently ignores a configured security control shared across automation nodes.

Affected Systems

n8n

Detection Signatures

  • n8n audit logs showing GraphQL node executions targeting unfamiliar or external endpoints
  • Credential usage against domains outside expected allowlist despite 'Allowed HTTP Request Domains' being configured
  • Workflow edits introducing GraphQL nodes with attacker-controlled endpoint URLs shortly after credential sharing changes
  • Unexpected outbound traffic from n8n instance to non-allowlisted domains correlated with credential-bearing requests

Remediation Steps

  1. 1

    Upgrade n8n

    Update to n8n 1.123.64, 2.29.8, 2.30.1, or later, which enforce the Allowed HTTP Request Domains restriction consistently across the GraphQL node and HTTP Request node.

  2. 2

    Restrict workflow editing permissions

    Until patched, limit workflow creation/editing rights to fully trusted users to reduce the risk of malicious node configuration.

  3. 3

    Restrict credential sharing

    Limit sharing of domain-restricted credentials to fully trusted users only, minimizing exposure to lower-privileged accounts.

  4. 4

    Audit credential and domain-restriction configurations

    Review all credentials with 'Allowed HTTP Request Domains' set and their sharing relationships for unexpected or overly broad access.

  5. 5

    Monitor outbound automation traffic

    Implement network-level monitoring/egress filtering for the n8n instance to detect requests to unauthorized domains carrying credential material.

CVE / Advisory IDs

CVE-2026-65596GHSA-gq66-9cw5-j5jm

Industries Most Exposed

TechnologySaaSIT/Managed Servicesany organization using n8n for workflow automation with shared/multi-tenant credential management

Sources

Respond to this threat

Pro subscribers get a full AI-generated incident-response playbook for this threat — detection, containment, eradication, and recovery steps — plus an unlimited AI Threat Advisor for questions about your environment.