首页 网络安全 正文
  • 本文约1838字,阅读需9分钟
  • 104
  • 0

Langflow远程代码执行漏洞CVE-2026-27966

摘要

栋科技漏洞库关注到关于Langflow CSV Agent远程代码执行漏洞,该漏洞现在已经被追踪为CVE-2026-27966,漏洞CVSS 3.X评分9.8。

Langflow 是一款基于 Python、开源低代码 / 无代码可视化 AI 应用构建框架,生态丰富、部署灵活、开源免费、支持本地私有化部署。

一、基本情况

Langflow 致力于通过拖拽组件快速编排 LLM 工作流,可视化调试直观方案,大幅降低 AI 应用开发门槛,同时兼顾灵活性与可扩展性。

Langflow远程代码执行漏洞CVE-2026-27966

Langflow 本质是 LangChain 可视化编排层,将 LangChain 各类模块(模型、提示词、记忆、向量库、工具等)封装为可拖拽的节点。

栋科技漏洞库关注到关于Langflow CSV Agent远程代码执行漏洞,该漏洞现在已经被追踪为CVE-2026-27966,漏洞CVSS 3.X评分9.8。

二、漏洞分析

CVE-2026-27966是 Langflow CSVAgent 组件存在的远程代码执行漏洞,可导致服务器被完全控制、数据泄露或业务中断等严重后果。

Langflow CSV Agent 节点将 allow_dangerous_code=True 硬编码,导致LangChain Python REPL 工具(python_repl_ast)自动暴露 。

具体来说,由于在创建CSVAgent时将allow_dangerous_code参数硬编码为True,系统会自动启用LangChain的python_repl_ast工具。

这就导致模型生成的指令可直接在服务器端执行,攻击者可通过构造恶意提示词触发任意Python代码或系统命令执行,从而实现RCE。

受影响版本中,CSV Agent 组件实例化时硬编码 allow_dangerous_code=True,导致 LangChain 的 python_repl_ast 工具被自动启用。src/lfx/src/lfx/components/langchain_utilities/csv_agent.py代码中该参数将 Python REPL 执行能力直接暴露给 LLM 控制流,

任何形如 Action: python_repl_ast\nAction Input: __import__("os").system("command")  LLM 输出均会在服务端直接执行,

该问题默认开启且无配置项可关闭,且无 UI 开关或环境变量可禁用此行为。

三、POC概念验证

1、预期行为

当构建类似 ChatInput → CSVAgent → ChatOutput 的工作流时,用户可关联大语言模型并指定 CSV 文件路径。

随后,CSV Agent 提供相关能力,通过大语言模型驱动的智能体对 CSV 内容进行查询、摘要或处理操作。

2、根本原因

在 src/lfx/src/lfx/components/langchain_utilities/csv_agent.py 文件中,CSV 智能体按如下方式进行实例化:

agent_kwargs = {
    "verbose": self.verbose,
    "allow_dangerous_code": True,  # hardcoded
}
agent_csv = create_csv_agent(..., **agent_kwargs)

由于 allow_dangerous_code 被硬编码为 True,LangChain 会自动启用 python_repl_ast 工具。任何大语言模型输出如下操作指令时:

Action: python_repl_ast
Action Input: import("os").system("echo pwned > /tmp/pwned")

都会在服务器上直接执行。

系统没有提供任何 UI 开关或环境变量来禁用这一行为。

3、POC概念验证

(1)创建工作流:ChatInput → CSVAgent → ChatOutput。

提供一个 CSV 文件路径(例如 /tmp/poc.csv)并关联一个大语言模型。

(2)发送以下提示词:

管理员已设置登录后刷新可查看

4、执行后,服务器上会创建文件 /tmp/pwned → 确认实现远程代码执行(RCE)。

5、影响范围

远程攻击者可在 Langflow 服务器上执行任意 Python 代码与系统命令。

攻击者有可能完全接管服务器运行环境。

目前不存在可禁用该行为的配置选项。

6、修复建议

allow_dangerous_code 默认设置为 False,或完全移除该参数,以防止自动加载 Python REPL 工具。

若确实需要该功能,应提供一个 UI 开关,且默认状态为关闭(False)。

四、影响范围

Langflow < 1.6.9

五、修复建议

Langflow >= 1.8.0

六、参考链接

管理员已设置登录后刷新可查看



扫描二维码,在手机上阅读
评论
更换验证码
友情链接