CVE-2026-41422Daptin是一个基于GraphQL和JSON-API的无头CMS。在0.11.4版本之前,系统存在严重的SQL注入漏洞。具体问题出在/aggregate/:typename端点,该接口在处理column和group查询参数时,未进行任何验证便将其直接传递给goqu.L()原始SQL构建器。这一设计缺陷绕过了标准的参数化查询机制,使得任何拥有有效会话的认证用户都能注入恶意SQL代码,进而可能窃取敏感数据或破坏数据库完整性。
该漏洞的根源在于Daptin对用户输入的处理缺乏充分的净化。在旧版本中,开发者使用了数据库查询构建器goqu中的L()函数来构造SQL语句中的特定部分。虽然查询构建器通常能防止注入,但goqu.L()被设计用于直接插入原始SQL片段。当攻击者向/aggregate/:typename接口发送请求时,可以通过构造特定的column或group参数(例如包含UNION SELECT或布尔盲注语句),将这些恶意载荷直接拼接到最终的SQL查询中执行。由于系统仅要求用户已认证,且未对这部分输入进行转义或白名单检查,攻击者可以利用该漏洞读取数据库中的任意表数据,甚至在某些情况下执行写入操作,完全控制后端数据库。