漏洞概述 PraisonAI recipe registry publish path traversal allows out-of-root file write PraisonAI 的配方注册表发布端点在将上传的配方包写入文件系统路径之前,未验证 中的 和 是否与 HTTP 路由匹配。恶意发布者可在 中放置 遍历序列,导致注册表服务器在配置的注册表根目录之外创建文件,即使请求最终被 HTTP 400 拒绝。这是一个任意文件写入/路径遍历漏洞。 影响范围 Package: (pip) Affected versions: Patched versions: Severity: High (7.1 / 10) 修复方案 1. 在路径连接或文件系统写入之前验证 的 和 。拒绝路径分隔符 、绝对路径以及任何未能通过现有 / 检查的值。 2. 解析最终目标路径,并强制其在调用 或 之前位于配置的注册表根目录之下。例如,将解析后的目标与 进行比较。 3. 在 之前进行 URL 到 manifest 的一致性检查,或者重构 使其接收已验证的路由参数,而不是信任攻击者控制的 manifest 值用于存储路径。 PoC 代码