CVE-2026-23696Windmill CE和EE版本1.276.0至1.603.2中存在严重的SQL注入漏洞。该漏洞位于文件夹所有权管理功能中,攻击者可通过`owner`参数注入恶意SQL语句。由于系统未对该参数进行充分的过滤,经过身份认证的低权限攻击者可以利用此漏洞从数据库中读取敏感信息,包括JWT签名密钥和管理员用户标识。获取这些信息后,攻击者能够伪造管理员令牌,进而通过工作流执行端点在服务器上执行任意代码,最终完全控制受影响系统。
该漏洞的根源在于Windmill处理文件夹所有权变更时,直接将用户输入的`owner`参数拼接到SQL查询语句中,未进行预编译或严格的输入校验,导致经典的SQL注入漏洞。攻击向量为网络,且无需用户交互,仅需低权限用户身份即可触发。在利用过程中,攻击者首先向受影响端点发送包含恶意SQL载荷的HTTP请求。通过利用时间盲注或联合查询等技术,攻击者可以提取Windmill数据库中的敏感配置数据。关键目标是获取用于验证会话的JWT签名密钥以及管理员账户的唯一标识符。一旦成功获取JWT密钥,攻击者可以使用该密钥签名生成一个伪造的管理员权限JWT令牌。随后,攻击者将此令牌放入后续请求的Authorization头中,从而欺骗服务器授予管理员权限。最后,攻击者利用管理员权限访问工作流执行接口,上传或调用恶意脚本,从而在服务器后端实现远程代码执行(RCE)。