CVE-2026-86083
largeCode injection in n8n legacy expression engine via JSON.stringify override
n8n versions before 1.123.76, 2.37.7, and 2.38.2 contain a code injection flaw (CWE-94) in the legacy expression engine, which builds executable source text by calling the mutable global JSON.stringify when printing synthetic string literals and interpolating timezone data. An expression evaluated by this engine can replace JSON.stringify, causing later generated source to contain executable attacker-controlled code that runs during expression evaluation. An attacker with low privileges, such as a user who can create or edit workflows or who can influence expression inputs over the network, can gain code execution with high impact on confidentiality, integrity, and availability (CVSS 4.0: 7.7 High). Only instances that evaluate expressions with the legacy engine are affected; the vm expression engine is not. There is no known public proof-of-concept, no known in-the-wild exploitation, and EPSS is low (0.3%, not in CISA KEV), so current exploitation risk is low.
What to do: Upgrade n8n to 1.123.76 on the 1.x line, or to 2.37.7 or 2.38.2 on the 2.x line. Until patched, restrict workflow creation and editing to trusted users and audit existing workflows for expressions that redefine or override JSON.stringify. Operators whose instances use the vm expression engine rather than the legacy engine are not affected by this flaw.
| n8n (open source workflow automation platform) | all versions prior to 1.123.76, prior to 2.37.7, and prior to 2.38.2 (legacy expression engine; the vm expression engine is not affected) |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
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.
- Vendors
- n8n
- Products
- n8n
- Ecosystems
- npm
- Weakness
- CWE-94
- Vector
- CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
- GHSA
- GHSA-6xcw-7xm6-48c6 (high)
In the news0 stories
No ingested article mentions this CVE yet.