🔴 《严重安全漏洞:CVE-2026-47391》

CVSS 评分: 严重(9.8)  状态: Received  发布时间: 2026-07-21


漏洞简介

CVE-2026-47391 涉及 PraisonAI 项目中的一个严重安全漏洞。PraisonAI 是一个多智能体团队系统(multi-agent teams system)。在版本 4.6.40 之前,PraisonAI 官方提供的 A2A(Agent-to-Agent)服务器示例存在以下问题:

  1. 未授权访问(CWE-306):该示例暴露了一个无需身份验证的 A2A JSON-RPC 端点(endpoint)。
  2. 危险函数调用(CWE-95):该示例注册了一个名为 calculate(expression) 的工具(tool),其实现使用了 Python 的 eval() 函数对用户提供的表达式进行动态求值。
  3. 网络绑定不当:该示例默认绑定到 0.0.0.0,意味着所有网络接口均可访问。

攻击流程如下:

  • 远程未授权攻击者可以向 /a2a 端点发送 message/send 请求。
  • 该请求会触发 agent.chat() 方法,进而调用一个真实的大语言模型(LLM,如 gemini/gemini-2.5-flash-lite)。
  • 攻击者可以通过精心构造的请求,诱导 LLM 调用已注册的 calculate 工具。
  • 由于 calculate 工具内部使用 eval() 执行表达式,攻击者可以实现 任意 Python 代码执行(arbitrary Python execution)。

在测试中,使用 gemini/gemini-2.5-flash-lite 模型,通过一个未认证的 HTTP 请求成功创建了标记文件(marker file),证实了远程代码执行的可能性。

此外,默认的未认证 A2A 接口还暴露了 任务历史(task history)任务取消(task cancellation) 的 API,进一步增加了机密性和完整性的影响。

影响范围

  • 受影响版本:PraisonAI 版本 低于 4.6.40
  • 受影响组件:官方提供的 A2A 服务器示例,以及任何类似的不安全公开 A2A 部署(使用了不安全工具)。
  • 修复版本:版本 4.6.40 已修复该问题。

风险分析

  • 攻击向量:远程网络攻击(AV:N),攻击复杂度低(AC:L),无需权限(PR:N),无需用户交互(UI:N)。
  • 影响范围:机密性(C:H)、完整性(I:H)、可用性(A:H)均为高影响。
  • CVSS 评分9.8(严重)(CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)。
  • 可能的攻击后果
    • 攻击者可以在服务器上执行任意 Python 代码,可能导致:
      • 完全控制服务器(远程代码执行,RCE)。
      • 窃取敏感数据(如数据库凭证、API 密钥、用户数据)。
      • 篡改或删除数据。
      • 利用服务器作为跳板进行横向移动或发起进一步攻击。
    • 通过暴露的任务历史 API,攻击者可以获取历史对话记录,泄露敏感信息。
    • 通过任务取消 API,攻击者可以中断正在进行的任务,影响系统可用性。

总结:该漏洞允许未经身份验证的远程攻击者通过 LLM 调用 eval() 实现任意代码执行,风险极高。建议所有使用 PraisonAI 且部署了 A2A 示例的用户立即升级到 4.6.40 或更高版本,并避免在公开网络中暴露未认证的 A2A 端点。


🔍 技术细节

字段
CVE ID CVE-2026-47391
CVSS 评分 9.8 🔴
严重程度 严重
CVSS 向量 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CWE 分类 CWE-95,CWE-306
发布时间 2026-07-21
最后更新 2026-07-21
状态 Received
数据来源 security-advisories@github.com

🔗 参考链接