CVE-2026-40152PraisonAIAgents 是一个多智能体团队系统。在 1.5.128 版本之前,FileTools 中的 list_files() 工具虽然通过 _validate_path() 验证了目录参数,但将 pattern 参数直接传递给 Path.glob() 而未进行任何验证。由于 Python 的 Path.glob() 支持 .. 路径段,攻击者可以利用相对路径遍历来枚举工作区之外的任意文件,获取文件系统上任意路径的文件元数据(如存在性、名称、大小、时间戳)。该漏洞在 1.5.128 版本中已修复。
该漏洞的根本原因在于输入验证的不完整性。PraisonAIAgents 的 FileTools 组件中,`list_files()` 函数虽然对 `directory` 参数实施了边界检查,防止了通过目录参数进行的路径穿越,但却遗漏了对 `pattern` 参数的过滤。由于 Python 的 `pathlib.Path.glob()` 方法在解析模式时会处理 `..` 符号,攻击者可以构造包含 `..` 的恶意模式字符串。当程序执行 glob 操作时,这些相对路径会被解析为绝对路径,从而跳出预设的工作区目录。这使得攻击者能够遍历服务器上的任意目录,获取文件的存在性、大小和修改时间等敏感元数据,造成严重的信息泄露风险。攻击者无需认证即可利用此漏洞,且无需用户交互,通过构造特定的网络请求即可探测系统文件结构。