min8282/CVE-2026-5027

GitHub: min8282/CVE-2026-5027

针对 Langflow 路径穿越漏洞(CVE-2026-5027)的 PoC 验证工具,可测试任意文件写入导致的远程代码执行风险。

Stars: 0 | Forks: 0

本文是由 [EQSTLab](https://github.com/EQSTLab) 发布的一篇研究文章。 **感谢 [Yahia Hamza](https://yh.do) 报告并分析了此漏洞。** # CVE-2026-5027 ★ CVE-2026-5027 Langflow 路径穿越 / 任意文件写入 PoC ★
## 描述 CVE-2026-5027:Langflow 任意文件写入漏洞 描述:Langflow <= 1.8.4 版本中存在路径穿越漏洞,攻击者可以通过向 `/api/v2/files` 端点发送精心构造的 multipart `filename`,将任意文件写入预期上传目录之外的位置。在启用了自动登录或身份验证执行不严的部署环境中,此问题可能被利用,通过将攻击者控制的内容写入敏感文件系统位置来实现远程代码执行。
## 实验环境搭建 使用 Docker 构建并运行易受攻击的环境: ### 构建镜像 ``` docker build -t cve-2026-5027 . ``` ### 运行容器 ``` docker run --rm -it -p 9013:7860 --name cve-2026-5027 cve-2026-5027 ```
## 使用方法 ### 执行 ``` # 非破坏性 validation(proof 文件) python3 CVE-2026-5027.py -t # 使用 authenticated mode 进行 validation python3 CVE-2026-5027.py -t -u -p ```
## 分析 **易受攻击的端点** ``` POST /api/v2/files ``` 该问题的根源在于上传功能信任客户端提供的 multipart `filename` 值。易受攻击的代码路径没有生成安全的服务器端存储名称,也没有将解析后的路径限制在专用的上传目录中,而是允许 `../` 等遍历序列影响最终的目标路径。 因此,攻击者可以逃离预期的存储根目录,并强制应用程序将文件写入服务器文件系统上的任意位置。 典型的利用流程如下: 1. 通过正常登录或启用自动登录的部署获取 access token。 2. 向 `/api/v2/files` 提交 multipart 上传请求。 3. 提供包含路径穿越序列的精心构造的 `filename`。 4. 导致 Langflow 将攻击者控制的内容写入预期的存储目录之外。 这本质上是一个 **CWE-22:对受限目录的路径名限制不当** 问题。 ### 技术根本原因 该安全缺陷是由于在上传处理过程中对用户控制的文件路径缺乏足够的清理和验证造成的。应用程序接受原始客户端文件名并将其传递到存储工作流中,而没有充分执行路径规范化和包含检查。 从防御角度来看,这种危险模式在概念上类似于以下情况: ``` save_path = base_dir / file.filename ``` 如果 `file.filename` 包含如下路径穿越组件: ``` ../../../../tmp/poc.txt ``` 则最终解析的路径可能指向 `base_dir` 之外,从而实现任意文件写入。 ### 为什么这很重要 任意文件写入漏洞通常比标准的无限制上传问题更为严重,因为攻击者不仅控制文件内容,还控制目标路径。根据 Langflow 进程的运行时权限,这可能引发: - 覆盖应用程序文件 - 修改启动或计划任务文件 - 通过 shell 初始化或密钥文件实现持久化 - 从任意文件写入升级为远程代码执行
## 场景 攻击者 --(获取 access token 或滥用自动登录)--> Langflow `/api/v2/files` --(提供包含 `../` 的精心构造的 multipart filename)--> 上传目录之外的任意文件写入 --(写入敏感位置)--> 潜在的远程代码执行
## 免责声明 本仓库并非旨在促进对 Langflow 实例的未授权利用。本项目的目的是帮助安全研究人员、防御者和开发人员了解该漏洞,在受控环境中验证暴露情况,并应用有效的缓解措施。
## 参考资料 https://www.tenable.com/security/research/tra-2026-26 https://www.cve.org/CVERecord?id=CVE-2026-5027 https://github.com/yahiahamza/CVE-2026-5027 https://github.com/langflow-ai/langflow
标签:API 安全, CISA项目, Cron Job 注入, CVE-2026-5027, Docker, EQSTLab, Langflow, PoC, Python, RCE, 任意文件写入, 协议分析, 安全防御评估, 文件上传漏洞, 无后门, 暴力破解, 本体建模, 权限提升, 漏洞分析, 编程工具, 网络信息收集, 请求拦截, 路径探测, 路径遍历, 远程代码执行, 逆向工具