Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:H/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
Authenticated network attacker (PR:L, AV:N) with scope change to other users' execution contexts (S:C); full CIA impact on victim workflows given arbitrary control over injected module logic.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
3DescriptionCVE.org
n8n's JavaScript task runner shared a single module cache across all users' Code-node executions. In affected versions (before 1.123.67, 2.31.5, and 2.32.1), a user able to run a Code node could poison a cached module and thereby alter other users' Code-node executions on the same runner, affecting their confidentiality, integrity, or availability. This is a cross-user isolation break within a single n8n instance and does not constitute a sandbox escape or remote code execution. Only multi-user instances running the JS task runner with built-in or external modules enabled are affected.
AnalysisAI
Cross-user module cache poisoning in n8n's JavaScript task runner allows an authenticated Code-node user to inject malicious logic into a shared module cache, silently altering other users' workflow executions on the same instance and compromising their data confidentiality, workflow integrity, or execution availability. Affects all multi-user n8n deployments on versions before 1.123.67 (1.x), 2.31.5 (2.31.x), and 2.32.1 (2.32.x) where the JS task runner is active and built-in or external module access is enabled. No public exploit has been identified at time of analysis, and the vulnerability is not listed in CISA KEV; despite the 'RCE' tag applied by the reporting source, the vendor advisory explicitly confirms this is a cross-user isolation break and not a sandbox escape or remote code execution.
Technical ContextAI
n8n's JavaScript task runner executes user-authored Code nodes using Node.js module resolution. The runner maintained a single process-level module cache (Node.js require cache) shared across all users' Code-node executions, violating the tenant isolation boundary. CWE-668 (Exposure of Resource to Wrong Sphere) captures this root cause: a shared in-process resource - the module cache - was accessible across distinct user trust boundaries. When a user's Code node loaded a built-in Node.js module (e.g., 'fs', 'crypto') or an allowed external npm package, that module object was cached and reused for all subsequent imports from other users on the same runner. Because JavaScript module objects are mutable references, an attacker could replace exported functions or properties on the cached object, permanently poisoning it for the duration of the runner's lifetime. The affected CPE is cpe:2.3:a:n8n-io:n8n:*:*:*:*:*:*:*:*, covering npm package n8n-io/n8n across all three vulnerable version ranges. The JS task runner feature and the NODE_FUNCTION_ALLOW_BUILTIN / NODE_FUNCTION_ALLOW_EXTERNAL environment variables are the specific surface responsible for this exposure.
RemediationAI
The primary fix is upgrading n8n to version 1.123.67 (for 1.x deployments), 2.31.5 (for 2.31.x deployments), or 2.32.1 (for 2.32.x deployments), as confirmed by the vendor security advisory at https://github.com/n8n-io/n8n/security/advisories/GHSA-9cmh-xcqm-5hqr. If immediate upgrade is not feasible, administrators should unset the environment variables NODE_FUNCTION_ALLOW_BUILTIN and NODE_FUNCTION_ALLOW_EXTERNAL to eliminate the poisonable module surface entirely; this trade-off is that all Code nodes relying on built-in or external modules will lose that capability and may fail, requiring workflow redesign. A less disruptive workaround is restricting Code node access exclusively to fully trusted users, reducing the attacker population to zero in practice, though this may not be operationally viable in self-service or SaaS n8n deployments. A third option is deploying the external runner mode with a dedicated runner process per user or project, which provides per-user cache isolation; this requires infrastructure changes and is not available in all deployment configurations. The vendor notes that none of these workarounds fully remediate the risk, and upgrade remains the definitive resolution.
n8n workflow automation (through 1.121.2) allows authenticated users to execute arbitrary code via the n8n service, with
n8n workflow automation (1.65.0 to 1.121.0) allows unauthenticated file access through form-based workflows. A critical
n8n has a fifth critical RCE vulnerability (CVSS 9.9) in the Expression evaluator, enabling code execution through craft
A prototype pollution vulnerability in the XML and GSuiteAdmin nodes of n8n workflow automation platform allows authenti
An authenticated user with workflow creation or modification privileges in n8n workflow automation platform can exploit
n8n-workflows Main Commit ee25413 allows attackers to execute a directory traversal via the download_workflow function w
Authenticated n8n users can hijack administrator accounts when LDAP authentication is enabled by manipulating their LDAP
The n8n package 0.218.0 for Node.js allows Escalation of Privileges. Rated high severity (CVSS 8.8), this vulnerability
SQL injection in n8n's Data Table Get node allows authenticated users with workflow modification permissions to execute
Authenticated users can exploit string formatting and exception handling in n8n's Python task executor to escape sandbox
n8n workflow automation platform Community Edition contains an authorization bypass vulnerability allowing authenticated
The n8n package 0.218.0 for Node.js allows Information Disclosure. Rated high severity (CVSS 7.5), this vulnerability is
Same weakness CWE-668 – Exposure of Resource to Wrong Sphere
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-56143
GHSA-6fvf-89gw-r6cx