该漏洞允许未经身份验证的用户通过不受保护的 API 端点在服务器上执行任意 Python 代码。
美国网络安全和基础设施安全局 (CISA) 有证据表明,上个月修复的 Langflow 中的一个关键漏洞目前正被广泛利用。该漏洞无需身份验证即可在服务器上远程执行任意代码,已被添加到 CISA 的已知漏洞 (KEV) 目录中,这向政府机构和私人组织发出了立即修补该漏洞的信号。
Langflow是一款用 Python 编写的开源工具,它允许用户通过可视化界面和 API 服务器构建和部署 AI 代理。在代理 AI时代,许多公司都希望利用大型语言模型 (LLM) 来自动化内部工作流程,Langflow 也因此变得非常流行,在 GitHub 上获得了近 6 万颗星。
Langflow 的本质是允许经过身份验证的用户执行任意代码。通过 Langflow 的可视化组件构建代理时,用户可以自由修改底层 Python 代码。但Horizon3.ai 的研究人员发现的CVE-2025-3248 漏洞却赋予了未经身份验证的用户同样的权限。由于有超过 500 个 Langflow 实例暴露在互联网上,并且还有更多实例可以通过内部网络访问,这个问题变得更加严重。
危险 API 端点缺少身份验证
该缺陷相当简单,源于一个名为/api/v1/validate/code的 API 端点缺少身份验证检查,并将代码传递给了 Python 的exec函数。然而,该端点并非直接对函数运行exec ,而是对函数定义运行 exec,这使得函数可执行,但不会执行其代码。
因此,Horizon3.ai 的研究人员必须想出一种替代的利用方法,利用 Python 的一项名为装饰器的功能,即“返回包装其他函数的函数的函数”。
Horizon3.ai 于 4 月 9 日发布的概念验证利用装饰器实现远程代码执行,但研究人员指出,第三方研究人员也通过滥用 Python 函数的另一个称为默认参数的功能实现了同样的目标。
此后,针对此漏洞的利用也被添加到流行的渗透测试框架 Metasploit 中,因此攻击者已经开始利用此漏洞进行攻击也就不足为奇了。
补救措施
建议 Langflow 用户立即将部署升级到4 月 1 日发布的包含补丁的1.3.0 版本,或升级到包含其他修复程序的最新版本 14.0 版本。
Horizon3.ai 的研究人员指出,任何 Langflow 用户都已经可以将其权限提升为超级用户,因为他们可以根据设计在服务器上执行代码。因此,任何被盗或权限薄弱的 Langflow 用户凭证都可能构成重大风险。
研究人员表示:“作为一般做法,我们建议在将任何新开发的人工智能工具暴露于互联网时务必谨慎。如果必须将其暴露于外部,请考虑将其置于独立的 VPC 中和/或 SSO 之后。只需在某个云实例上对这些工具进行一次错误/影子 IT 部署,就足以造成安全漏洞。”