IPBUF安全漏洞报告
English
CVE-2026-40117 CVSS 6.2 中危

CVE-2026-40117: PraisonAIAgents 任意文件读取漏洞

披露日期: 2026-04-09

漏洞信息

漏洞编号
CVE-2026-40117
漏洞类型
任意文件读取
CVSS评分
6.2 中危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
PraisonAIAgents

相关标签

任意文件读取路径遍历提示注入PraisonAIAgentsCWE-22

漏洞概述

PraisonAIAgents 在1.5.128之前的版本中存在路径遍历漏洞。该漏洞源于`skill_tools.py`中的`read_skill_file()`函数,该函数接受未受限制的`skill_path`参数,导致可以从文件系统读取任意文件。与具有工作区限制和审批机制的同类函数不同,该函数缺乏必要的安全防护。受提示注入影响的代理可利用此漏洞窃取敏感数据且不触发审批提示。

技术细节

该漏洞位于PraisonAIAgents多代理系统的`skill_tools.py`模块中。具体而言,`read_skill_file()`函数设计用于读取技能文件,但在实现上存在严重缺陷。它直接使用了用户或代理提供的`skill_path`参数,并未像`file_tools.read_file`那样强制执行工作区边界检查,也未像`run_skill_script`那样要求关键级别的审批。攻击者利用此漏洞的方式是结合提示注入(Prompt Injection)。在多代理系统中,如果代理受到恶意提示的影响,它可以调用`read_skill_file()`并将路径参数设置为系统中的任意敏感文件(如`/etc/passwd`、环境变量文件或代码库中的密钥文件)。由于缺乏边界检查和审批流程,该操作会静默成功,导致敏感信息直接泄露给攻击者,严重威胁系统机密性。

攻击链分析

STEP 1
1. 侦察
攻击者确认目标系统运行的是 PraisonAIAgents 版本 1.5.128 之前。
STEP 2
2. 提示注入
攻击者向系统中的人工智能代理发送包含恶意指令的输入,试图绕过原本的安全限制。
STEP 3
3. 触发漏洞
被影响的代理执行恶意指令,调用 `read_skill_file()` 函数,并传入包含路径遍历符(如 `../../`)的参数指向敏感文件(如 `/etc/passwd`)。
STEP 4
4. 文件读取
由于该函数未验证路径是否在工作区内,系统直接读取并返回了目标文件的内容。
STEP 5
5. 数据泄露
代理将读取到的敏感信息输出给攻击者,且在整个过程中未触发任何关键审批流程。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC for CVE-2026-40117: Arbitrary File Read in PraisonAIAgents # This simulates how an agent could read sensitive files due to unrestricted path parameter. def vulnerable_read_skill_file(skill_path): """ Vulnerable implementation of read_skill_file found in skill_tools.py < 1.5.128. It lacks workspace boundary checks. """ try: with open(skill_path, 'r') as f: return f.read() except FileNotFoundError: return "File not found." # Scenario: Attacker uses prompt injection to trick the agent # into calling this function with a sensitive path. malicious_payload = "../../../../etc/passwd" print(f"Attempting to read: {malicious_payload}") leaked_data = vulnerable_read_skill_file(malicious_payload) print("Leaked Content:") print(leaked_data)

影响范围

PraisonAIAgents < 1.5.128

防御指南

临时缓解措施
如果无法立即升级,建议严格监控代理的日志,特别关注 `read_skill_file` 的调用情况。可以在应用层面对传入的路径参数进行正则匹配,拒绝包含 `../` 或绝对路径的请求。此外,限制运行环境的文件系统访问权限(如使用容器或 chroot)也能有效缓解风险。

参考链接

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