CVE-2025-62382Frigate是一款开源的网络视频录像机(NVR),支持IP摄像头的实时本地目标检测功能。在0.16.2版本之前,Frigate的导出工作流程存在严重的安全缺陷。经过身份验证的操作员(operator)可以将任意文件系统路径指定为视频导出的缩略图源。由于该路径会被原样复制到公开服务的clips目录中,攻击者可以利用此功能读取运行Frigate的主机上的任意文件。
该漏洞违反了导出子系统的最小权限原则,将一个便利功能转变为直接的敏感信息泄露通道。在实际场景中,拥有API访问权限的低权限用户可以从查看摄像头录像升级为窃取设备上的敏感配置文件、密钥或用户数据。漏洞利用依赖于一个短暂的竞态窗口期——后台导出器在清理程序运行之前将所选文件复制到目标位置。
该漏洞的CVSS 3.1评分为7.7分,属于高危级别。攻击向量为网络(AV:N),攻击复杂度低(AC:L),所需权限为低权限(PR:L),无需用户交互(UI:N),对机密性影响为高(C:H),对完整性和可用性无影响。漏洞已在Frigate 0.16.2版本中修复,建议所有用户尽快升级。
Frigate的导出功能允许操作员为视频导出指定缩略图源路径。在0.16.2之前的版本中,该功能未对用户提供的文件路径进行充分的验证和限制。
漏洞的核心原理如下:
1. Frigate导出工作流接受用户输入的缩略图源文件路径参数;
2. 后台导出器进程将该路径对应的文件复制到Frigate对外提供服务的clips目录中;
3. 由于复制后的文件位于公开可访问的目录中,攻击者可以通过HTTP请求直接访问该文件;
4. 由于路径验证缺失,攻击者可以将任意主机文件路径(如/etc/passwd、配置文件、密钥文件等)作为缩略图源。
利用条件:
- 攻击者需要拥有Frigate的有效操作员账户凭据(低权限);
- 攻击者通过API调用导出功能,指定目标文件路径;
- 在后台导出器完成文件复制但清理程序尚未运行的时间窗口内,攻击者通过公开URL访问复制后的文件;
- 整个攻击过程无需用户交互,可通过网络远程执行。
修复方案(commit d7f7cd7):在0.16.2版本中,开发者在导出流程中添加了路径验证机制,确保缩略图源路径只能指向合法的、预期的文件位置,防止任意文件路径的注入。