The Empty Badge: n8n Chat Trigger Auth Bypass
Vulnerability ID: GHSA-JH8H-6C9Q-7GMW
CVSS Score: 4.2
Published: 2026-02-26
n8n, the popular workflow automation tool that serves as the central nervous system for many modern tech stacks, suffered from a critical logic flaw in its Chat Trigger node. The vulnerability allowed attackers to bypass authentication simply by providing a cookie—any cookie. The system checked for the presence of an authentication token but failed to validate its contents or signature, effectively treating a cardboard badge the same as a valid ID card.
TL;DR
The Chat Trigger node in n8n checked if an auth cookie existed but didn’t verify it. Attackers can bypass authentication by sending a request with Cookie: n8n-auth=anything, triggering potentially sensitive workflows without credentials.
⚠️ Exploit Status: POC
Technical Details
- Bug Class: Authentication Bypass
- Attack Vector: Network (Web)
- Root Cause: Improper Validation of Cookie Existence vs. Validity
- CVSS v3.1: 4.2 (Medium)
- CVSS v4.0: 2.3 (Low)
- Component: Chat Trigger Node
Affected Systems
- n8n (Self-hosted)
- n8n (Cloud)
-
n8n: < 1.123.22 (Fixed in:
1.123.22) -
n8n: >= 2.0.0, < 2.9.3 (Fixed in:
2.9.3) -
n8n: >= 2.10.0, < 2.10.1 (Fixed in:
2.10.1)
Code Analysis
Commit: 062644e
Fix: Chat Trigger auth bypass by validating cookie content
- if (!authCookie && webhookName !== 'setup') {
- throw new ChatTriggerAuthorizationError(500, 'User not authenticated!');
- }
+ if (!authCookie) {
+ throw new ChatTriggerAuthorizationError(401, 'User not authenticated!');
+ }
+ try {
+ await context.validateCookieAuth(authCookie);
+ } catch { ... }
Exploit Details
- Manual: Send a POST request to the chat webhook URL with ‘Cookie: n8n-auth=1’ header.
Mitigation Strategies
- Upgrade n8n to a patched version immediately.
- Switch Chat Trigger authentication to ‘Basic Auth’ or ‘None’ (if behind WAF).
- Restrict network access to n8n webhook endpoints.
Remediation Steps:
- Identify all workflows using the Chat Trigger node.
- Check if they are configured with ‘n8n User Auth’.
- Update the n8n docker image or npm package to version 1.123.22, 2.9.3, or 2.10.1.
- Verify the fix by attempting the curl PoC against a test endpoint.
References
Read the full report for GHSA-JH8H-6C9Q-7GMW on our website for more details including interactive diagrams and full exploit analysis.
