GHSA-hw8v-xxg5-vvvx: Code Injection

Published Sep 10, 2026
·
Updated

Impact

The expression compiler's sanitizer resolved through a dynamically-scoped this, so a class field named sanitize rebound it and reached the Function constructor. On the backend, any expression author could run code in the n8n process; in the editor preview, a member's expression could run as JavaScript in the session of whoever opened the workflow. The patch rejects reserved class-member names.

Patches

The issue has been fixed in n8n versions 1.123.76, 2.37.7, and 2.38.2. 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. - Avoid granting workflow-create or workflow-edit permissions to untrusted users. - Audit existing workflows for unexpected or unfamiliar expressions in node parameters. - Set N8NEXPRESSIONENGINE=vm.

These workarounds do not fully remediate the risk and should only be used as short-term mitigation measures.

Affected Software

3 affected componentsFixes available
npm/n8n>=2.0.0<2.37.7
2.37.7
npm/n8n>=2.38.0<2.38.2
2.38.2
npm/n8n<1.123.76
1.123.76

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade npm/n8n to a version that resolves this vulnerability.

    Fixed in 2.37.7
  2. Upgrade

    Upgrade npm/n8n to a version that resolves this vulnerability.

    Fixed in 2.38.2
  3. Upgrade

    Upgrade npm/n8n to a version that resolves this vulnerability.

    Fixed in 1.123.76
  4. Upgrade

    Upgrade n8n to a version that resolves this vulnerability.

    Fixed in 1.123.76
  5. Upgrade

    Upgrade n8n to a version that resolves this vulnerability.

    Fixed in 2.37.7
  6. Upgrade

    Upgrade n8n to a version that resolves this vulnerability.

    Fixed in 2.38.2
  7. Configuration

    Set environment variable N8N_EXPRESSION_ENGINE=vm for temporary mitigation.

    n8n N8N_EXPRESSION_ENGINE = vm
  8. Compensating control

    Restrict n8n instance access to fully trusted users only.

  9. Compensating control

    Avoid granting workflow-create or workflow-edit permissions to untrusted users.

  10. Compensating control

    Audit existing workflows for unexpected or unfamiliar expressions in node parameters.

Event History

Sep 10, 2026
Advisory Published
via GitHub·03:11 PM
Data Sourced
via GitHub·03:11 PM
DescriptionWeaknessAffected Software

Frequently Asked Questions

1

Who is exposed to this issue?

Backend compromise is possible when an expression author can create an expression that is evaluated by n8n. Editor-preview compromise is possible when a workflow member opens a workflow containing a malicious expression, so users with workflow access may be exposed even if they did not create the expression.

2

What access does an attacker need?

The attacker needs the ability to author expressions, which can be obtained through workflow-create or workflow-edit permissions. The supplied mitigations specifically advise against granting these permissions to untrusted users.

3

Which versions contain the fix?

Upgrade to n8n 1.123.76, 2.37.7, 2.38.2, or a later version. These releases reject reserved class-member names used in the vulnerable expression-compilation path.

4

What can be done while an upgrade is pending?

Limit the instance to fully trusted users, remove workflow-create and workflow-edit permissions from untrusted users, and audit node parameters for unexpected or unfamiliar expressions. Setting N8N_EXPRESSION_ENGINE=vm is also listed as a temporary mitigation, but these measures do not fully remediate the issue.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203