n8n: Cross-Tenant Module-Cache Poisoning in the JS Task Runner
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- —
- Confidentiality · integrity · availability
- —
- Fix status
- Fixed
No CVSS vector from any source. Fix status from GitHub.
Summary
## Impact n8n's JavaScript task runner shared one module cache across all users' Code-node executions, so a user able to run a Code node could poison a cached module and 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. It does not constitute a sandbox escape or remote code execution. All multi-user n8n instances running the JS task runner with built-in or external modules enabled are affected. ## Patches The issue has been fixed in n8n versions 1.123.67, 2.31.5, and 2.32.1. Users should upgrade to one of these versions or later to remediate the vulnerability. ## Workarounds If upgrading is not immediately possible, administrators should consider the following temporary mitigations: - Restrict n8n instance access to fully trusted users only. - Disable built-in and external module access in Code nodes by unsetting `NODE_FUNCTION_ALLOW_BUILTIN` and `NODE_FUNCTION_ALLOW_EXTERNAL`, which removes the poisonable module surface. - Use the external runner mode with a dedicated runner per user or project if your deployment supports it. These workarounds do not fully remediate the risk and should only be used as short-term mitigation measures.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | n8n (npm) | before 1.123.67 | 1.123.67 | Patch available | GHSA-9cmh-xcqm-5hqr |
| — | n8n (npm) | 2.32.0 to before 2.32.1 | 2.32.1 | Patch available | GHSA-9cmh-xcqm-5hqr |
| — | n8n (npm) | 2.0.0-rc.0 to before 2.31.5 | 2.31.5 | Patch available | GHSA-9cmh-xcqm-5hqr |
- n8n (npm) Vendor— Affected before 1.123.67 Fixed in 1.123.67 Patch available GHSA-9cmh-xcqm-5hqr
- n8n (npm) Vendor— Affected 2.32.0 to before 2.32.1 Fixed in 2.32.1 Patch available GHSA-9cmh-xcqm-5hqr
- n8n (npm) Vendor— Affected 2.0.0-rc.0 to before 2.31.5 Fixed in 2.31.5 Patch available GHSA-9cmh-xcqm-5hqr
Remediation
- Fix · GHSA-9cmh-xcqm-5hqr n8n (npm) Fixed in 1.123.67 Advisory →
- Fix · GHSA-9cmh-xcqm-5hqr n8n (npm) Fixed in 2.32.1 Advisory →
- Fix · GHSA-9cmh-xcqm-5hqr n8n (npm) Fixed in 2.31.5 Advisory →
Timeline
- 2026-10-03 Threatist record created from GHSA-9cmh-xcqm-5hqr
References
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences