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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-33017-Lab — # CVE-2026-33017 可复现实验室 针对 Langflow 中未认证远程代码执行(RCE)漏洞 CVE-2026-33017 的可复现实验室。包含一个 Docker 化的易受攻击服务,以及一个最小危害的 PoC,通过公开的 build 端点演示代码执行。 | Kitploit
工具/GitHubGitHub/rootdirective-sec/cve-2026-33017-lab
漏洞分析漏洞利用Web应用程序漏洞利用论文与研究学习与教育实验室与实践
GitHubrootdirective-sec/cve-2026-33017-lab

CVE-2026-33017-Lab

# CVE-2026-33017 可复现实验室 针对 Langflow 中未认证远程代码执行(RCE)漏洞 CVE-2026-33017 的可复现实验室。包含一个 Docker 化的易受攻击服务,以及一个最小危害的 PoC,通过公开的 build 端点演示代码执行。

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

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

CVE-2026-33017 — Langflow 未认证 RCE 实验环境

执行摘要

CVE-2026-33017 是 Langflow 中的一个**未认证远程代码执行(RCE)**漏洞,其公开构建端点接受攻击者控制的流程数据,允许自定义组件代码在服务器上执行。

在本实验环境中,验证流程如下:

  1. 通过自动登录流程获取访问令牌
  2. 创建一个新的 PUBLIC 流程
  3. 将攻击者控制的组件代码发送到公开构建端点
  4. 接收一个 job_id
  5. 通过构建事件 API 轮询结果
  6. 直接从组件输出中读取证明对象

证明对象直接通过 Langflow API 事件机制获取,使结果可以通过系统界面本身进行观察。


本仓库范围

本文档展示了一个仅含漏洞的实验环境。

目前,docker compose 仅包含一个服务:vuln,因为本项目遵循仅使用真实制品的方法,并避免使用非基于官方修复制品的修补环境。


本实验环境中已验证的行为

以下行为已在本实验环境中得到验证:

  • 一个存在漏洞的 Langflow 实例运行在 http://localhost:7861
  • 版本端点返回 1.8.1
  • 可以创建一个公开流程
  • build_public_tmp 返回一个 job_id
  • PoC 可以继续轮询事件
  • 证明对象通过 API 返回
  • 攻击者控制的代码在 Langflow 运行时内执行

示例证明对象:

root@kitploit:~
{
  "canary": "lf33017-c14fc1c9",
  "id_output": "uid=1000(user) gid=0(root) groups=0(root)",
  "whoami": "user",
  "hostname": "155aa3fd5e2a",
  "cwd": "/app",
  "python_version": "3.12.12"
}

关键证据包括:

  • id_output
  • whoami
  • hostname
  • cwd
  • python_version

以上信息表明攻击者控制的代码确实在服务器端被执行。


仓库结构

root@kitploit:~
.
├── docker-compose.yml
├── vuln/
│   └── Dockerfile
├── poc/
│   └── poc.py
├── README.md
└── .gitignore

环境要求

  • Linux 或 macOS
  • Docker Desktop 或 Docker Engine
  • Docker Compose v2
  • Python 3

服务概览

vuln

  • 存在漏洞的 Langflow 实例
  • 绑定端口:7861 -> 7860
  • 用于在 localhost 上复现 CVE-2026-33017

漏洞原理

该漏洞的存在是因为 Langflow 的公开构建端点接受用户提供的流程定义,尽管该端点本身已设计用于公开流程。当攻击者提交包含自定义组件代码的节点定义时,系统会将该代码传入流程构建路径,最终导致代码在服务器上执行。

本项目中的 PoC 使用一个自定义组件,在其输出中返回一个证明对象,以证明攻击者控制的代码确实被执行。


PoC 设计

本项目中的 PoC 被设计为最小危害,并专注于通过 API 提供清晰可观察的证明。其工作流程如下:

  1. 等待 Langflow 就绪
  2. 调用自动登录端点获取令牌
  3. 创建一个 PUBLIC 流程
  4. 将自定义组件代码发送到公开构建端点
  5. 接收一个 job_id
  6. 轮询构建事件 API
  7. 从事件负载中解析证明对象

此 PoC 不包含:

  • 打开 shell
  • 建立反向连接
  • 建立持久化
  • 窃取机密信息
  • 使用 webshell

运行实验环境

1) 启动存在漏洞的服务

root@kitploit:~
docker compose up -d --build

2) 验证版本端点

root@kitploit:~
curl -i http://localhost:7861/api/v1/version

3) 运行 PoC

root@kitploit:~
python3 poc/poc.py --base-url http://localhost:7861 --artifact-dir ./artifacts/vuln

预期输出

当 PoC 成功时,输出将如下所示:

root@kitploit:~
[+] http://localhost:7861 ready (version=1.8.1)

=== TARGET: vuln ===
Base URL : http://localhost:7861
Version  : 1.8.1
Flow ID  : <uuid>
HTTP     : 200
Job ID   : <uuid>
Canary   : lf33017-xxxxxxxx
Events   : artifacts/vuln/events-<job_id>.ndjson
Polls    : 2

[+] Proof observed through the Langflow API events endpoint:
{
  "canary": "lf33017-xxxxxxxx",
  "id_output": "uid=1000(user) gid=0(root) groups=0(root)",
  "whoami": "user",
  "hostname": "<container-hostname>",
  "cwd": "/app",
  "python_version": "3.12.x"
}

[+] Vulnerable behavior observed

文件 artifacts/vuln/events-<job_id>.ndjson 存储原始事件数据,用于额外的调试。


当前 PoC 证明的内容

此 PoC 证明了:

  • 攻击者可以调用公开构建流程
  • 攻击者控制的代码在 Langflow 服务器上执行
  • 执行上下文通过 API 返回
  • 实际影响是未认证代码执行

此 PoC 不旨在演示持久化或高级后渗透利用,并将影响保持在验证漏洞所需的最低水平。


影响

基于本实验环境,所展示的影响包括:

  • 未认证攻击者可以在 Langflow 服务器上执行 Python 代码
  • 攻击者可以访问进程的运行时上下文
  • 攻击者可以执行一次性系统命令
  • 攻击者可以访问工作目录和运行时元数据

为何没有修补后的服务

本仓库按设计不包含修补后的服务。

其范围仅限于在真实的上游制品上复现漏洞行为。只有在供应商或上游项目提供明确可验证的官方修复制品时,才会添加修补侧。

因此,本仓库刻意避免:

  • 构建本地镜像来模拟修复版本,
  • 修改镜像源码以模仿补丁行为,或
  • 添加辅助脚本,在没有真实上游修补制品的情况下制造漏洞与修补对比的假象。

这使实验环境保持范围狭窄且在技术上诚实。本仓库不呈现人为的并排设置,而是专注于三件事:

  • 可复现的漏洞行为,
  • 透明的概念验证,以及
  • 与真实上游制品保持一致的文档。

实际上,这使得本仓库最适合用于:

  • 漏洞复现,
  • 技术分析和报告撰写支持,以及
  • 在可复现性和可信度比合成修补环境更重要的作品集用途。

清理

root@kitploit:~
docker compose down -v

安全说明

本实验环境仅设计用于 localhost 测试。

使用要求:

  • 仅在您自己的环境中使用
  • 不要将 PoC 修改为 webshell 或持久化机制
  • 不要在仓库中包含真实的令牌或真实的机密信息
  • 如果将来添加修补侧,必须仅使用官方修复制品
下载工具