
CVE 复现:cve-2026-0770-langflow_rce_reproduction
CVSS 9.8(严重) | ZDI-CAN-27325 | CWE-829:包含来自不受信任的控制领域的功能
CVE-2026-0770 是 Langflow 中的一个严重未认证远程代码执行漏洞,Langflow 是一个用于构建 LLM 驱动应用的低代码应用框架。该缺陷位于 /api/v1/validate 端点,其中 exec_globals 参数被不安全地传递给 Python 的 exec() 函数,允许未认证的攻击者以 Langflow 进程的权限(通常为 root)执行任意代码。
通过零日计划(ZDI-CAN-27325)发现。
Langflow 的 /api/v1/validate 验证端点接受包含 exec_globals 字段的 JSON 负载。该字典旨在内部使用,用于在验证自定义组件时预填充全局变量。然而,该端点不会对 exec_globals 的内容进行清理或限制,并且这些值会直接传递给 Python 的内置 exec() 函数:
exec(user_code, exec_globals)
攻击者可以通过提供精心构造的 exec_globals 字典来注入任意 Python 代码,该字典会覆盖内置函数或注入恶意可调用对象。当 Langflow 在内部使用这些全局变量评估用户代码时,注入的代码就会执行。
该漏洞被归类为 CWE-829,因为应用程序在未进行充分验证的情况下,包含了来自不受信任来源(网络请求)的功能(通过 exec_globals),从而导致任意代码执行。
在验证端点中实施正确 exec_globals 清理的补丁发布之前,所有 Langflow 版本均受影响。具体受影响的版本包括:
/api/v1/validate 接受未经验证的 exec_globals 的版本/api/v1/validate 发送包含恶意 exec_globals 负载的精心构造的 POST 请求使用附带的 exploit.py 脚本:
python exploit.py --target 192.168.1.100 --port 7860 --command "id > /tmp/pwned"
exec_globals 的修补版本。免责声明:此信息仅供教育目的和授权安全测试使用。对您不拥有或未经明确许可测试的系统进行未经授权的使用属于违法行为。