Impact
The vulnerability is a prototype‑pollution flaw in the JavaScript task runner of n8n. The sandbox’s freeze routine protects only global functions and misses internal constructors such as EventEmitter. An authenticated user who can use a Code node can modify the EventEmitter prototype, which is process‑wide, and thereby inject arbitrary JavaScript that is executed with the runner container’s privileges. Because the polluted prototype persists across tenants, one user can affect all jobs that run on the shared runner, and on v1.x instances where the Code node runs in the main process the impact is potentially even larger.
Affected Systems
n8n-io’s n8n product is affected. Versions prior to 1.123.69 on the v1.x branch and prior to 2.33.4 or 2.34.1 on the v2 branch are vulnerable. The issue appears in all releases before those specified patch versions.
Risk and Exploitability
The flaw carries a CVSS score of 7.2, indicating a moderate risk, and there is currently no EPSS score available. The vulnerability is not listed in the CISA KEV catalog. An attacker must be authenticated and have Code node access; from there they can exploit the prototype pollution to run arbitrary commands inside the runner container, potentially escaping the sandbox and impacting other tenants. The exploit’s persistence through a process‑wide prototype dirtying increases its tactical value.
OpenCVE Enrichment