关键漏洞信息 漏洞概述 漏洞名称: 通过导出缩略图“image_path”参数的任意文件读取 受影响版本: = 0.16.2 严重性: 高 (CVSS v3 基本分数: 7.7/10) 描述 Frigate 的导出功能允许经过身份验证的操作员指定任何文件系统位置作为视频导出的缩略图源。如果路径被复制到公开服务的 clips 目录,该功能可以被滥用以读取主机上运行 Frigate 的任何文件。 技术描述 攻击向量: 网络 攻击复杂度: 低 用户交互: 无 影响: - 复制攻击者选择的主机文件到静态 Web 目录,导致敏感数据(凭据、配置、API 密钥)直接泄露给任何具有身份验证 HTTP 访问权限的第三方。 - 在导出期间暴露任何原始服务器端文件;行为合同期望导出语义只处理相机生成的媒体。 漏洞代码流 1. 中的 构造函数接受未验证的用户输入。 2. 将用户提供的图像保存为构造函数中的原始路径。 3. 将受控路径复制到 。 4. 将 web 可访问路径存储在数据库中。 5. 将 字段暴露给客户端。 6. 静态提供来自 的文件,使 可直接下载。 证明概念 1. 使用 Docker 启动 Frigate。 2. 在 Frigate 上创建一个帐户。 3. 使用提供的 PoC 进行利用。 缓解措施 拒绝绝对路径并强制执行仅限于 Frigate 管理的媒体目录的白名单路由。 优先接受上传的缩略图而不是现有文件系统路径。 如果保留 ,则将其规范化并验证其位于预期目录中。 考虑将缩略图存储在 Web 服务树之外,除非明确打算公开。