Langflow远程代码执行漏洞CVE-2026-27966
Langflow 是一款基于 Python、开源低代码 / 无代码可视化 AI 应用构建框架,生态丰富、部署灵活、开源免费、支持本地私有化部署。
一、基本情况
Langflow 致力于通过拖拽组件快速编排 LLM 工作流,可视化调试直观方案,大幅降低 AI 应用开发门槛,同时兼顾灵活性与可扩展性。

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
六、参考链接
管理员已设置登录后刷新可查看