basically lets an authorised n8n user do RCE. vuln versions are 0.211.0 to 1.120.3
n8n is built on Node.js, uses JS for for platform internals and user workflow logic
features are:
workflow execution engine that manages the node based workflow execution
expression evaluation system that processes dynamic expressions wrapped in {{ }} that are evaluated as JS code during workflow execution
code nodes that let users add custom JS or Python code as workflow steps
400+ native integrations with various APIs and services that are the nodes in n8n
the vuln is in the expression evaluation system that doesnt do proper sandboxing or input sanitizing/validation and just processes {{ }} expressions without proper context isolation leading to RCE by ANY authenticated user with the privilege of the n8n process