n8n GraphQL Node Domain Restriction Bypass Leading to Credential Exfiltration
First seen Jul 23, 2026 · Updated Jul 23, 2026
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
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
Restrict workflow editing permissions
Until patched, limit workflow creation/editing rights to fully trusted users to reduce the risk of malicious node configuration.
- 3
Restrict credential sharing
Limit sharing of domain-restricted credentials to fully trusted users only, minimizing exposure to lower-privileged accounts.
- 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
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
Industries Most Exposed
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.