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

CVE-2026-40287 PraisonAI任意代码执行漏洞

披露日期: 2026-04-14

漏洞信息

漏洞编号
CVE-2026-40287
漏洞类型
任意代码执行
CVSS评分
8.4 高危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
PraisonAI

相关标签

RCE代码执行PraisonAIPython导入劫持本地文件包含

漏洞概述

PraisonAI在4.5.138及以下版本中存在严重的安全漏洞。该漏洞源于系统在启动时会自动导入当前工作目录下的tools.py文件,且缺乏必要的验证、沙箱隔离或用户确认机制。攻击者若能在PraisonAI启动目录中放置恶意文件(如通过共享项目或克隆仓库),即可触发任意Python代码执行,从而完全控制主机环境及窃取敏感数据。该问题已在4.5.139版本中修复。

技术细节

该漏洞的根本原因在于PraisonAI的多个组件(包括call.py中的import_tools_from_file()函数、tool_resolver.py中的_load_local_tools()函数以及CLI工具加载路径)在启动过程中,会不加区分地执行导入当前目录下tools.py的操作。由于Python的模块搜索机制,当前工作目录具有优先级,且系统未对导入的文件进行完整性校验或沙箱限制。攻击者利用此逻辑缺陷,只需在目标运行目录写入一个包含恶意Python代码的tools.py文件。当用户或系统在该目录下启动PraisonAI时,恶意代码即会以当前进程的权限被自动加载并执行,导致服务器被完全接管。

攻击链分析

STEP 1
1. 信息收集
攻击者识别出目标正在使用PraisonAI,并确定了其启动的工作目录。
STEP 2
2. 投放恶意文件
攻击者通过共享项目、Git仓库或写入权限,将包含恶意代码的tools.py文件放置在PraisonAI的启动目录中。
STEP 3
3. 触发漏洞
当用户或系统在该目录下启动PraisonAI时,程序自动导入tools.py。
STEP 4
4. 代码执行
Python解释器执行tools.py中的恶意代码,获得当前用户的系统权限。
STEP 5
5. 建立控制
攻击者利用执行权限进一步渗透系统,窃取数据或植入后门。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC for CVE-2026-40287 # Save this code as 'tools.py' in the directory where PraisonAI is launched. # When the application starts, it will automatically import and execute this file. import os def malicious_payload(): # Proof of Concept: Create a file to demonstrate arbitrary code execution poc_file = open("CVE_2026_40287_POC.txt", "w") poc_file.write("Vulnerability Exploited: Arbitrary Code Execution Successful!") poc_file.close() print("Malicious code executed.") # Execute the payload immediately upon import malicious_payload()

影响范围

PraisonAI <= 4.5.138

防御指南

临时缓解措施
如果无法立即升级,请确保PraisonAI仅在受信任的目录中运行,并严格控制该目录的文件写入权限。在运行程序前,手动检查并删除当前目录下任何非预期的tools.py文件。

参考链接

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