CVE-2026-33470Frigate是一款带本地对象检测功能的网络视频录像机。在0.17.0版本中存在严重的权限绕过漏洞。低权限用户虽然被限制仅能访问特定摄像头,但利用API授权逻辑缺陷,可访问其他未经授权摄像头的快照。攻击者通过`/api/timeline`接口枚举受限摄像头的事件ID,再利用`/api/events/{id}/snapshot-clean.webp`未验证事件归属的缺陷,成功下载敏感快照,导致监控信息泄露。
该漏洞由两个连续的授权逻辑缺陷导致。首先,`/api/timeline`端点未实施严格的数据过滤,返回了包含调用者权限范围之外摄像头的条目,使受限用户能够枚举其他摄像机的Event ID。其次,`/api/events/{event_id}/snapshot-clean.webp`端点虽然在函数定义中声明了`Depends(require_camera_access)`依赖,但在后续代码逻辑中,仅执行了Event查询,却遗漏了对该Event所属`camera`字段的权限校验。攻击者组合利用这两点:先通过Timeline接口获取受限摄像机的事件标识,随后直接请求Snapshot接口。由于服务器未验证事件ID对应的摄像机是否属于用户,导致攻击者能越权获取敏感图像数据。