IPBUF安全漏洞报告
English
CVE-2026-40113 CVSS 8.4 高危

CVE-2026-40113 PraisonAI环境变量注入漏洞

披露日期: 2026-04-09

漏洞信息

漏洞编号
CVE-2026-40113
漏洞类型
环境变量注入
CVSS评分
8.4 高危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
PraisonAI

相关标签

环境变量注入PraisonAICVE-2026-40113RCE参数注入

漏洞概述

PraisonAI是一款多智能体团队系统。在4.5.128版本之前,其deploy.py脚本在部署到Google Cloud Run时,未对openai_model、openai_key和openai_base等参数进行逗号过滤,直接拼接至gcloud命令中。由于gcloud使用逗号分隔环境变量,攻击者可利用逗号注入任意环境变量,导致高完整性和机密性风险。

技术细节

该漏洞源于PraisonAI项目中的deploy.py脚本缺乏对用户输入的严格校验。在部署过程中,脚本将openai_model、openai_key和openai_base三个配置参数直接通过字符串插值的方式拼接到gcloud run deploy命令的--set-env-vars参数中。Google Cloud CLI工具(gcloud)规定逗号(,)为环境变量键值对的分隔符。攻击者若具备本地低权限,可在上述配置参数中恶意插入逗号及后续的等式字符串。例如,将参数设置为“original_value,MALICIOUS_VAR=payload”。当脚本执行时,gcloud解析器会将逗号后的内容误识别为新的环境变量定义。尽管攻击需要本地触发,但该行为会导致Cloud Run服务运行在包含恶意环境变量的环境中,攻击者可借此篡改服务配置、窃取凭证或执行未授权操作,严重破坏系统的机密性和完整性。

攻击链分析

STEP 1
1. 访问配置
攻击者获得对PraisonAI项目部署环境的本地低权限访问,能够修改配置文件或环境变量。
STEP 2
2. 构造载荷
攻击者在openai_key等参数中插入包含逗号的恶意载荷,格式为“原值,新变量=恶意值”。
STEP 3
3. 触发部署
管理员或自动化流水线执行deploy.py脚本进行部署。
STEP 4
4. 命令解析
gcloud工具解析--set-env-vars参数,将逗号后的文本解析为新的环境变量。
STEP 5
5. 注入生效
Cloud Run服务成功部署,并加载了攻击者注入的环境变量,导致服务行为被篡改。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC Concept: Injecting a new environment variable via openai_key # Assume the attacker controls the configuration input. malicious_key = "sk-1234567890abcdef,HACKED_VAR=inject_success" # Inside deploy.py (vulnerable code logic simulation): # command = f"gcloud run deploy ... --set-env-vars=openai_key={malicious_key}" # Resulting command executed: # gcloud run deploy ... --set-env-vars=openai_key=sk-1234567890abcdef,HACKED_VAR=inject_success # Outcome in Cloud Run: # 1. openai_key is set to "sk-1234567890abcdef" # 2. HACKED_VAR is set to "inject_success" (Arbitrary Injection)

影响范围

PraisonAI < 4.5.128

防御指南

临时缓解措施
在升级前,建议手动审查deploy.py脚本或部署配置,确保openai_model、openai_key和openai_base参数中不包含逗号字符。同时,限制对部署脚本和配置文件的写入权限,仅允许可信人员执行部署操作。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表