CVE-2026-77083: n8n: Code node sandbox escape via proto pollution
MEDIUMn8n's JavaScript Code node runs inside a VM sandbox that failed to freeze Function.prototype, letting an authenticated user pollute the sandbox's prototype chain and recover a reference to the host process's globalThis — a textbook sandbox escape. There is no CVSS score or EPSS data published, it isn't in CISA KEV, and no public exploit or Nuclei template exists, but n8n carries 16 tracked downstream dependents and 201 other CVEs on record, and its workflows routinely hold credentials for connected AI agents, APIs, and databases. Exploitation requires an authenticated account with workflow create/execute rights, and the full chain additionally depends on which external modules the deployment has allowlisted for Code node imports, so real-world blast radius varies by tenant configuration. Patch to 1.123.69, 2.33.4, or 2.34.1 immediately, and in the interim audit who holds workflow-editor roles and lock down NODE_FUNCTION_ALLOW_EXTERNAL/NODE_FUNCTION_ALLOW_BUILTIN to the minimum set of modules actually needed.
What is the risk?
Medium risk in practice despite the sandbox-escape severity of the underlying bug: the attacker must already be an authenticated user with permission to create and execute workflows, which limits this to insider-threat and compromised-account scenarios rather than remote unauthenticated exploitation. The 'full exploit chain' explicitly depends on deployment-specific allowlisted modules, so impact ranges from information disclosure (reading host process state via globalThis) up to full host code execution only where risky modules (e.g. child_process-style imports) are allowlisted. No CVSS vector, EPSS score, KEV listing, or public PoC exists yet, keeping near-term opportunistic exploitation likelihood low, but the vulnerability class (prototype pollution breaking VM isolation) is well understood and could be weaponized quickly once technical details circulate.
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| n8n | npm | — | No patch |
Do you use n8n? You're affected.
How severe is it?
What should I do?
1 stepUpgrade to n8n 1.123.69, 2.33.4, or 2.34.1 (or later) immediately — this is the only complete fix. As a compensating control until patched, restrict Code node creation/execution to trusted, vetted users via n8n's role-based permissions, and minimize the modules exposed through NODE_FUNCTION_ALLOW_EXTERNAL / NODE_FUNCTION_ALLOW_BUILTIN, since the full exploit chain depends on which modules are allowlisted. Review audit logs for recently created or modified workflows containing unusual Code node content (prototype-manipulation patterns, references to globalThis or Function.prototype), and rotate credentials stored in or accessible from the affected n8n instance if untrusted users had Code node access prior to patching.
What does CISA's SSVC say?
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-77083?
n8n's JavaScript Code node runs inside a VM sandbox that failed to freeze Function.prototype, letting an authenticated user pollute the sandbox's prototype chain and recover a reference to the host process's globalThis — a textbook sandbox escape. There is no CVSS score or EPSS data published, it isn't in CISA KEV, and no public exploit or Nuclei template exists, but n8n carries 16 tracked downstream dependents and 201 other CVEs on record, and its workflows routinely hold credentials for connected AI agents, APIs, and databases. Exploitation requires an authenticated account with workflow create/execute rights, and the full chain additionally depends on which external modules the deployment has allowlisted for Code node imports, so real-world blast radius varies by tenant configuration. Patch to 1.123.69, 2.33.4, or 2.34.1 immediately, and in the interim audit who holds workflow-editor roles and lock down NODE_FUNCTION_ALLOW_EXTERNAL/NODE_FUNCTION_ALLOW_BUILTIN to the minimum set of modules actually needed.
Is CVE-2026-77083 actively exploited?
No confirmed active exploitation of CVE-2026-77083 has been reported, but organizations should still patch proactively.
How to fix CVE-2026-77083?
Upgrade to n8n 1.123.69, 2.33.4, or 2.34.1 (or later) immediately — this is the only complete fix. As a compensating control until patched, restrict Code node creation/execution to trusted, vetted users via n8n's role-based permissions, and minimize the modules exposed through NODE_FUNCTION_ALLOW_EXTERNAL / NODE_FUNCTION_ALLOW_BUILTIN, since the full exploit chain depends on which modules are allowlisted. Review audit logs for recently created or modified workflows containing unusual Code node content (prototype-manipulation patterns, references to globalThis or Function.prototype), and rotate credentials stored in or accessible from the affected n8n instance if untrusted users had Code node access prior to patching.
What systems are affected by CVE-2026-77083?
This vulnerability affects the following AI/ML architecture patterns: agent frameworks, workflow automation.
What is the CVSS score for CVE-2026-77083?
No CVSS score has been assigned yet.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0053AI Agent Tool InvocationAML.T0105Escape to HostCompliance Controls Affected
What are the technical details?
Original Advisory
n8n is a workflow automation platform. In versions prior to 1.123.69, 2.33.4, and 2.34.1, the JavaScript Code node's VM sandbox did not freeze the sandbox's Function.prototype, allowing an authenticated user with the ability to create and execute workflows to pollute it from within a Code node execution and recover a reference to the host's globalThis, resulting in a sandbox escape. The full exploit chain additionally depends on specific modules being available as allowlisted imports in the deployment's configuration. The issue is fixed in versions 1.123.69, 2.33.4, and 2.34.1.
Exploitation Scenario
An attacker who has obtained (or was granted) a standard n8n user account with workflow-editor rights — via a phishing-compromised credential, an over-provisioned contractor account, or a malicious insider — creates a new workflow containing a Code node with JavaScript that pollutes Function.prototype from inside the VM sandbox. On execution, this pollution lets the attacker recover a reference to the host process's globalThis, breaking out of the intended isolation boundary. If the instance has allowlisted a powerful module for Code node imports, the attacker chains this into arbitrary code execution on the host, allowing them to read other workflows' stored API keys and database credentials, pivot into connected AI agent tooling, or exfiltrate data the automation platform has access to.
Weaknesses (CWE)
CWE-1321Improperly Controlled Modification of Object Prototype AttributesPrimaryCWE-1321Improperly Controlled Modification of Object Prototype AttributesCWE-1321 — Improperly Controlled Modification of Object Prototype Attributes: The product receives input from an upstream component that specifies attributes that are to be initialized or updated in an object, but it does not properly control modifications of attributes of the object prototype.
- [Implementation] By freezing the object prototype first (for example, Object.freeze(Object.prototype)), modification of the prototype becomes impossible.
- [Architecture and Design] By blocking modifications of attributes that resolve to object prototype, such as proto or prototype, this weakness can be mitigated.
Source: MITRE CWE corpus.
References
Timeline
Related Vulnerabilities
CVE-2026-3366310.0n8n: member role steals plaintext HTTP credentials
Same package: n8nCVE-2026-3366010.0TensorFlow: type confusion NPD in tensor conversion
Same package: n8nCVE-2026-2185810.0n8n: Input Validation flaw enables exploitation
Same package: n8nCVE-2026-275779.9n8n: Code Injection enables RCE
Same package: n8nCVE-2026-274949.9n8n: security flaw enables exploitation
Same package: n8n