Safeguard
Vulnerability Analysis•

CVE-2026-77077: High Sandbox Escape in n8n Task Runner

CVE-2026-77077 is a high (7.6) sandbox escape in the n8n JavaScript task runner through prototype pollution. Upgrade to 1.123.69, 2.33.4 or 2.34.1.

Safeguard Security Team
4 min read

CVE-2026-77077 is a high severity (7.6) sandbox escape in n8n's JavaScript task runner. A user with Code node access could pollute a shared prototype and run commands in the runner container. n8n before 1.123.69, 2.33.4 and 2.34.1 is affected. Upgrade to those versions or later.

What's affected

The record says n8n before 1.123.69, 2.x before 2.33.4, and 2.34.x before 2.34.1 are affected. GitHub's advisory lists the same range and says the patched versions are 1.123.69, 2.33.4 and 2.34.1 or later.

The component is the JavaScript task runner behind the Code node. The advisory says the runner's prototype-freezing routine covered globalThis functions but not internal module constructors such as EventEmitter.

The record notes that, on v1.x instances without task runners enabled, Code node JavaScript runs directly in the main n8n process, where the impact could be higher.

Where sources differ. The advisory scores this High 7.2 on CVSS 4.0, and the record's CVSS 3.1 score is different, so the two numbers describe the same flaw through different scoring models.

How to check if you're exposed

Find every n8n instance, including ones a team stood up on its own, and print the version:

n8n --version
docker exec <container> n8n --version
npm ls -g n8n

The first works where the CLI is installed, the second for a Docker container, the third for a global npm install. Compare with the patched versions: 1.123.69 on the 1.x line, 2.33.4 on 2.33, and 2.34.1 on 2.34. Check whether task runners are enabled and whether several teams share a runner.

GitHub lists these temporary mitigations in the advisory:

  • Restrict n8n instance access to fully trusted users only.
  • Disable Code node access for untrusted users.
  • Run the JavaScript task runner in an isolated process per user or project, where your deployment supports it.

GitHub is clear that they do not fully remediate the risk and are short-term measures. A dependency scan is the quickest way to find this kind of component across many projects. Safeguard's free in-browser scan at gold.safeguard.sh/scan checks your dependencies against known CVEs, and reachability analysis helps you separate libraries your code actually calls from ones that only sit in the tree.

What to do now

  1. Upgrade n8n to 1.123.69, 2.33.4, or 2.34.1 or later, whichever matches your release line.
  2. Until you can, apply the advisory's temporary mitigations, which GitHub says reduce risk without fully fixing it.
  3. Review who has accounts on the instance and what role each holds. Remove people who do not need access.
  4. Look through existing workflows for the feature involved, and confirm nothing unexpected has been added.
  5. Re-check the version afterward and record it.

Why it matters

The runner tries to make the JavaScript environment safe by freezing prototypes. It froze the global functions but missed internal constructors such as EventEmitter, so a Code node could change a prototype that the whole process shares. The record files this under CWE-94, improper control of generated code, and the mechanism is prototype pollution.

The multi-tenant detail is the one to remember. Because the polluted prototype is one process-wide object, it persists across other tenants' Code node runs on the same shared runner, though the advisory says not on the host. If different teams share one runner, one user's code can alter how another team's code behaves. The record does not mark it as a CISA KEV entry.

Quick check

Does this reach the host?

The advisory says the persistence affects other tenants' runs on the same shared runner, but not the host. On v1.x without task runners, the code runs in the main process, where impact could be higher.

Who needs Code node access?

The attacker does. Restricting Code node access to trusted users is one of GitHub's listed mitigations.

Sources

Last reviewed: 18 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.