GHSA-JH8H-6C9Q-7GMW: The Empty Badge: n8n Chat Trigger Auth Bypass

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:

  1. Identify all workflows using the Chat Trigger node.
  2. Check if they are configured with ‘n8n User Auth’.
  3. Update the n8n docker image or npm package to version 1.123.22, 2.9.3, or 2.10.1.
  4. 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.

Leave a Reply