Skip to content
n8nGHSA-pm35-fqvh-cq5g

n8n: Legacy Expression Evaluator Sanitizer Bypass Leads to Authenticated Code Execution

HighCVE-2026-65591 · Published Jul 22, 2026

## Impact The legacy expression evaluator's computed-member sanitizer can be bypassed by an authenticated user with workflow create or modify permissions. Successful exploitation grants the attacker host-level code execution as the n8n process. The legacy expression engine is the default engine in affected versions. ## Patches The issue has been fixed in n8n versions 1.123.64, 2.29.8, and 2.30.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. - Switch to the non-legacy expression engine by setting `N8N_EXPRESSION_ENGINE=vm`. These workarounds do not fully remediate the risk and should only be used as short-term mitigation measures.

GitHub advisory

Affected versions

PackageAffectedFixed in
n8n
npm
< 1.123.641.123.64
>= 2.30.0, < 2.30.12.30.1
>= 2.0.0-rc.0, < 2.29.82.29.8
Details and references

More n8n advisories

All n8n
Advisory
n8n: Snowflake Node executeQuery Operation Allows SQL Injection via Unparameterized Expression Interpolation
MediumJul 22
n8n: SQL injection
MediumJul 22
n8n: Cross-Tenant Module-Cache Poisoning in the JS Task Runner
MediumJul 22
n8n: Custom Header Credential Values Leaked in Plaintext into LLM Node Execution Data
MediumJul 22
n8n: Unauthenticated Endpoint Allows Cancellation of Any User's Active Test Webhook
MediumJul 22
n8n: GraphQL Node Bypasses "Allowed HTTP Request Domains" Restriction
MediumJul 22

Critical advisories by email

Wednesdays: the week’s critical and high advisories in the AI and data stack, with the fixed versions. Only in weeks that have some.

Double opt-in. Unsubscribe any time.