CVE-2026-86076
large1Sandbox Escape via __sanitize Rebinding Enables Code Execution in n8n
n8n, an open-source workflow automation platform, is affected by an expression-sandbox escape (CWE-94, code injection): the expression compiler's PrototypeSanitizer (packages/workflow/src/expression-sandboxing.ts) resolved through dynamically scoped 'this' and did not reject reserved class member names. An attacker who can supply workflow expressions, typically an authenticated user with permission to create or edit workflows, can define a class field named '__sanitize', which rebinds the sanitizer and lets the expression code reach the Function constructor. Successful exploitation gives JavaScript-driven backend code execution on the n8n server as well as JavaScript execution in the editor preview, with high impact on confidentiality and integrity (CVSS 4.0 score 8.7, High). All n8n deployments running versions prior to 1.123.76 on the 1.x line, or prior to 2.37.7 / 2.38.2 on the 2.x line, are affected until patched. No public proof-of-concept, CISA KEV listing, or confirmed in-the-wild exploitation is known, and EPSS currently estimates only a 0.3% probability of exploitation within 30 days.
What to do: Upgrade n8n to 1.123.76 (1.x line) or 2.37.7 / 2.38.2 (2.x line). Until patched, restrict workflow creation and expression editing to trusted users, since exploitation requires the ability to supply expressions, and audit workflows for class fields named '__sanitize'. Because editor-preview execution is also affected, review which users open shared or untrusted workflows in the editor.
| n8n (1.x series) | < 1.123.76 |
| n8n (2.x series) | < 2.37.7 and < 2.38.2 |
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 expression compiler sanitizer resolved through dynamically scoped this and did not reject reserved class member names. A class field named __sanitize could rebind the sanitizer and reach the Function constructor, enabling backend code execution and editor-preview JavaScript execution. The affected AST hook is PrototypeSanitizer in packages/workflow/src/expression-sandboxing.ts. 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:H/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-hw8v-xxg5-vvvx (high)
In the news0 stories
No ingested article mentions this CVE yet.