CVE-2026-9277 Affecting n8n package, versions <2.26.4-r0


Severity

Recommended
low

Based on default assessment until relevant scores are available.

Threat Intelligence

EPSS
0.85% (54th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-MINIMOSLATEST-N8N-17371228
  • published18 Jun 2026
  • disclosed22 May 2026

Introduced: 22 May 2026

CVE-2026-9277  (opens in a new tab)

How to fix?

Upgrade Minimos:latest n8n to version 2.26.4-r0 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream n8n package and not the n8n package as distributed by Minimos. See How to fix? for Minimos:latest relevant fixed versions and status.

shell-quote's quote() function did not validate object-token inputs against the operator model used by parse(). The .op field was backslash-escaped character by character using /(.)/g, which in JavaScript does not match line terminators (\n, \r, U+2028, U+2029). A line terminator in .op therefore passed through unescaped into the output; POSIX shells treat a literal newline as a command separator, so any content after it would execute as a second command. The vulnerable code path is reachable in two ways: (1) direct construction of { op: &#39;...\n...&#39; } from external input, and (2) via parse(cmd, envFn) when envFn returns object tokens whose .op is attacker-influenced. Both are documented API surface. Fixed by replacing the per-character escape with strict shape validation: .op must match the parser's control-operator allowlist; { op: &#39;glob&#39;, pattern } validates pattern and forbids line terminators; { comment } validates comment and forbids line terminators; any other object shape throws TypeError.

References

CVSS Base Scores

version 3.1