n8n has SQL Injection in SeaTable Node
Medium6.8CVE-2026-42229 · Published Apr 29, 2026 · updated May 8, 2026
## Impact A flaw in the SeaTable node's `row:search` and `row:get` operations allowed user-controlled input to be concatenated directly into SQL query strings without escaping or parameterization. In workflows where external user input is passed via expressions into the SeaTable node's search or row retrieval parameters, an attacker could manipulate the constructed query to retrieve unintended rows from the connected SeaTable base, bypassing row-level filtering logic implemented in the workflow. Exploitation requires a specific workflow configuration: - The SeaTable node must be used with user-controlled input passed via expressions (e.g., from a form or webhook) into the `searchTerm` or `rowId` parameters. ## Patches The issue has been fixed in n8n versions 1.123.32, 2.17.4, and 2.18.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: - Limit workflow creation and editing permissions to fully trusted users only. - Disable the SeaTable node by adding `n8n-nodes-base.seaTable` to the `NODES_EXCLUDE` environment variable...
Affected versions
| Package | Affected | Fixed in |
|---|---|---|
| n8n npm | < 1.123.32 | 1.123.32 |
| >= 2.18.0, < 2.18.1 | 2.18.1 | |
| >= 2.0.0, < 2.17.4 | 2.17.4 |
Details and references
## Impact A flaw in the SeaTable node's `row:search` and `row:get` operations allowed user-controlled input to be concatenated directly into SQL query strings without escaping or parameterization. In workflows where external user input is passed via expressions into the SeaTable node's search or row retrieval parameters, an attacker could manipulate the constructed query to retrieve unintended rows from the connected SeaTable base, bypassing row-level filtering logic implemented in the workflow. Exploitation requires a specific workflow configuration: - The SeaTable node must be used with user-controlled input passed via expressions (e.g., from a form or webhook) into the `searchTerm` or `rowId` parameters. ## Patches The issue has been fixed in n8n versions 1.123.32, 2.17.4, and 2.18.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: - Limit workflow creation and editing permissions to fully trusted users only. - Disable the SeaTable node by adding `n8n-nodes-base.seaTable` to the `NODES_EXCLUDE` environment variable. - Avoid passing unvalidated external user input into SeaTable node search or row retrieval parameters via expressions. These workarounds do not fully remediate the risk and should only be used as short-term mitigation measures.
- CVSS 3.1
- CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N
- Severity from
- GitHub (reviewed advisory)
- Weakness
- CWE-89
- Also known as
- CVE-2026-42229
More n8n advisories
All n8n| Date | Advisory | Severity | Fixed in |
|---|---|---|---|
| Apr 29 | n8n has XML Node Prototype Pollution that to RCE | Critical9.9 | 1.123.32+2 more |
| Apr 29 | n8n has Prototype Pollution in XML Webhook Body Parser that Leads to RCE | Critical10.0 | 1.123.32+2 more |
| Apr 29 | n8n Vulnerable to XSS via MCP OAuth client | High8.2 | 1.123.32+2 more |
| Apr 29 | n8n's Credential Authorization Bypass in dynamic-node-parameters Allows Foreign API Key Replay | High8.5 | 1.123.33+1 more |
| Apr 29 | n8n has a Python Task Runner Sandbox Escape Vulnerability | High7.5 | 1.123.32+2 more |
| Apr 29 | n8n has Public API Variables IDOR that Allows Cross-Project Secret Disclosure | Medium7.7 | 1.123.32+2 more |