Executive brief
n8n is a workflow automation platform that allows users to build integrations using a visual interface. The Chat Trigger Node lets users create public chat interfaces, but a misconfiguration in input validation allows authenticated users to inject malicious JavaScript through the Custom CSS field. Any visitor to the chat URL could have their browser compromised, leading to potential data theft or account hijacking. This requires workflow edit access but affects all public chat visitors.
Technical details
This is a stored cross-site scripting (XSS) vulnerability (CWE-79) in the Chat Trigger Node's Custom CSS input field. The root cause is a misconfiguration of the sanitize-html library used to filter user-supplied CSS, allowing an attacker to inject malicious JavaScript payloads. An authenticated user with permission to create or modify workflows can inject JavaScript into the Custom CSS field; the defective sanitization fails to remove the payload, resulting in stored XSS on the publicly accessible chat page. Every unauthenticated visitor to the chat URL will execute the attacker's JavaScript, potentially stealing session tokens, credentials, or sensitive data. The vulnerability is network-exploitable (no additional preconditions beyond authentication and user interaction visiting the chat page) and requires low privilege (workflow creator role). Patches are available in n8n 1.123.27, 2.13.3, and 2.14.1+.
Affected products
- n8n n8n < 1.123.27; >= 2.0.0-rc.0 and < 2.13.3; >= 2.14.0 and < 2.14.1
Timeline
- 2026-03-27: disclosed
- 2026-03-27: patched: Fixed in n8n versions 1.123.27, 2.13.3, and 2.14.1