1. Langflow API未授权远程代码执行漏洞深度解析
Langflow作为一款流行的开源AI工作流工具,其1.3.0版本之前存在一个关键级安全漏洞(CVE-2025-3248)。这个漏洞的核心在于/api/v1/validate/code接口的设计缺陷,该接口原本用于校验用户提交的Python代码的合法性,但却因为实现不当导致了远程代码执行的风险。
1.1 漏洞原理详解
漏洞的根源在于Langflow对Python代码的处理方式存在严重问题。具体来说:
- AST解析的局限性:虽然使用了Python的ast模块进行语法树分析,但仅做了基础的结构检查
- 装饰器与默认参数的误用:开发人员没有考虑到装饰器会在函数定义阶段立即执行,以及函数默认参数的表达式也会在定义时求值
- exec的滥用:在校验过程中直接使用exec执行了未经严格过滤的代码
典型的攻击payload结构如下:
python复制@exec("恶意代码")
def dummy_function():
pass
或者:
python复制def dummy_function(cmd=exec("恶意代码")):
pass
1.2 漏洞影响范围
该漏洞影响Langflow 1.3.0之前的所有版本,具有以下严重危害:
- 未授权访问:无需任何认证即可利用
- 完全服务器控制:可执行任意系统命令
- 数据泄露风险:可能窃取AI模型、API密钥等敏感信息
- 内网渗透跳板:如果服务以高权限运行,可能危及整个内网
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 漏洞环境搭建与验证
2.1 测试环境准备
使用Docker快速搭建漏洞测试环境:
bash复制docker pull vulhub/langflow:1.2.0
docker run -d -p 7860:7860 vulhub/langflow:1.2.0
环境启动后,可通过http://localhost:7860访问Web界面。值得注意的是,漏洞利用不需要登录凭证。
2.2 基础漏洞验证
发送以下HTTP请求验证漏洞存在:
http复制POST /api/v1/validate/code HTTP/1
