CVE-2026-86083: n8n: Expression Sandbox Escape via Shared Builtin Tampering and Code-Printer Injection Leads to Code Execution
n8n is an open source workflow automation platform. Prior to 1.123.76, 2.37.7, and 2.38.2, the legacy expression engine generated source text by calling the mutable global JSON.stringify while printing synthetic string literals and interpolating timezone data. An expression could replace JSON.stringify and cause later generated source to contain executable attacker-controlled code. The affected code-generation paths include packages/@n8n/expression-runtime/src/bridge/isolated-vm-bridge.ts and packages/@n8n/tournament/src/ExpressionBuilder.ts, and the issue does not affect the vm expression engine. This issue is fixed in versions 1.123.76, 2.37.7 and 2.38.2.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
n8nto a version that resolves this vulnerability.Fixed in 1.123.76 - Upgrade
Upgrade
n8nto a version that resolves this vulnerability.Fixed in 2.37.7 - Upgrade
Upgrade
n8nto a version that resolves this vulnerability.Fixed in 2.38.2
Event History
Frequently Asked Questions
Which deployments are affected?
Deployments using the legacy expression engine are affected before versions 1.123.76, 2.37.7, and 2.38.2. The vm expression engine is not affected.
What must an attacker be able to do to exploit this issue?
An attacker must be able to supply an expression that replaces the mutable global JSON.stringify. Later expression source-generation activity that prints synthetic string literals or interpolates timezone data can then include attacker-controlled executable code.
What should be done to remediate the issue?
Upgrade n8n to version 1.123.76, 2.37.7, or 2.38.2, as appropriate for the deployment branch. Alternatively, use the vm expression engine, which is not affected.