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