IPBUF安全漏洞报告
English
CVE-2026-23696 CVSS 9.9 严重

CVE-2026-23696 Windmill SQL注入致远程代码执行漏洞

披露日期: 2026-04-07

漏洞信息

漏洞编号
CVE-2026-23696
漏洞类型
SQL注入
CVSS评分
9.9 严重
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Windmill CE and EE

相关标签

SQL注入RCEWindmillCVE-2026-23696权限提升

漏洞概述

Windmill CE和EE版本1.276.0至1.603.2中存在严重的SQL注入漏洞。该漏洞位于文件夹所有权管理功能中,攻击者可通过`owner`参数注入恶意SQL语句。由于系统未对该参数进行充分的过滤,经过身份认证的低权限攻击者可以利用此漏洞从数据库中读取敏感信息,包括JWT签名密钥和管理员用户标识。获取这些信息后,攻击者能够伪造管理员令牌,进而通过工作流执行端点在服务器上执行任意代码,最终完全控制受影响系统。

技术细节

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

攻击链分析

STEP 1
1. 初始访问
攻击者获取Windmill应用程序的一个低权限用户账户凭据。
STEP 2
2. 漏洞利用
攻击者向文件夹所有权管理端点发送特制的HTTP请求,在`owner`参数中注入恶意SQL代码。
STEP 3
3. 数据窃取
利用SQL注入漏洞,攻击者从数据库中提取JWT签名密钥和管理员用户ID。
STEP 4
4. 权限提升
攻击者使用窃取的JWT密钥伪造具有管理员权限的身份令牌。
STEP 5
5. 代码执行
攻击者使用伪造的管理员令牌访问工作流执行端点,执行任意系统命令,完全控制服务器。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL (Example) target_url = "https://<windmill-host>/api/folders/{folder_id}/owners" # Attacker's low-privilege token auth_token = "<LOW_PRIV_TOKEN>" # Headers headers = { "Authorization": f"Bearer {auth_token}", "Content-Type": "application/json" } # Malicious payload to extract JWT secret (PoC concept) # This payload attempts to extract the JWT secret via a subquery payload = { "owner": "' OR 1=1; --" } # Send the request try: response = requests.post(target_url, json=payload, headers=headers, verify=False) if response.status_code == 200: print("[+] Potential SQL Injection successful!") print("[+] Response:", response.text) else: print("[-] Request failed or injection blocked.") print("[-] Status Code:", response.status_code) except Exception as e: print(f"[!] An error occurred: {e}")

影响范围

Windmill CE and EE 1.276.0 - 1.603.2

防御指南

临时缓解措施
如果无法立即升级,建议在Web应用防火墙(WAF)中部署规则,拦截针对`owner`参数的常见SQL注入攻击模式。同时,应严格限制对Windmill管理接口的网络访问,仅允许可信IP地址连接,并暂时禁用非管理员用户的文件夹管理权限,直到补丁应用完毕。

参考链接

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