Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain valid viewer credentials
-
DeliveryOpen authenticated WebSocket to ws.py handler
-
ExploitSend admin-only topic (restart / detection / recording)
-
ExecutionDispatcher forwards without role check
-
ImpactRestart service or disable security monitoring
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that Frigate authentication is enabled and that the attacker holds valid viewer-level credentials (per the description and PR:L). The attacker then sends admin-only WebSocket message topics (e.g., restart, notifications/set, and per-camera detection, recording, snapshot, audio, motion, and enablement settings) to the frigate/comms/ws.py handler. The specific weakness is that the nginx authentication subrequest performs authentication but not role-aware authorization, so the handler never distinguishes viewer from admin. Limiting factors: no exploitation is possible without authentication enabled and a valid viewer account, so the realistic threat is an insider or a holder of a leaked/shared low-privilege credential rather than an anonymous internet attacker; deployments without multi-user/viewer accounts are effectively unexposed. |
| Impact | This is a genuine authorization flaw, not an inflated high-CVSS score. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H, base 8.1) accurately reflects a network-reachable, low-complexity attack that requires only low privileges (a valid viewer account) and no user interaction, yielding high integrity and availability impact with no confidentiality loss. CWE-862 (Missing Authorization) is confirmed by the source diff: ws.py forwarded attacker-chosen topics to the dispatcher with no role check because the nginx auth subrequest was not role-aware. No EPSS score, no CISA KEV listing, and no public POC were provided in the intelligence, so there is no public exploit identified at time of analysis and no evidence of active exploitation. The practical priority is elevated for anyone running Frigate multi-user with viewer accounts, because the flaw lets a low-trust user restart the service or silently disable the very security-monitoring functions (detection, recording, motion, notifications) the product exists to provide - a direct integrity/availability threat to a surveillance system. The main mitigating factor is the authentication gate: exploitation is impossible unless auth is enabled and the attacker already holds valid viewer credentials, which bounds the threat to insiders or holders of leaked/shared low-privilege accounts. |
| Exploit ScenarioDerived | An operator grants a low-trust user a viewer-only Frigate account (or a viewer credential leaks). That user opens an authenticated WebSocket to the frigate/comms/ws.py handler and sends admin-only topics such as 'restart' or camera detection/recording/enablement settings; the handler forwards them to the dispatcher without checking role, so the attacker restarts the service or disables recording and detection on cameras. No public exploit code is identified, but the attack requires only a standard WebSocket client and a valid viewer session. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 22, 2026
Authenticated viewer accounts in Frigate NVR can abuse the WebSocket message handler to invoke admin-only control topics, causing service restarts and disabling security monitoring functions across cameras. The flaw affects all releases prior to 0.17.2 and stems from the nginx authentication subrequest proving identity without conveying role information, so frigate/comms/ws.py forwards client-supplied topics to the dispatcher without any role check (CWE-862, missing authorization). Exploitation requires authentication to be enabled plus valid viewer-level credentials, meaning the realistic threat is an insider or the holder of a leaked or shared low-privilege account rather than an anonymous internet attacker; no public exploit code has been identified at time of analysis, and the vendor-released patch is version 0.17.2.
RemediationAI
Upgrade to Frigate 0.17.2, which is the vendor-released patch; the fix is delivered through release tag v0.17.2, pull request https://github.com/blakeblackshear/frigate/pull/22710 and commit 0371b60c715b8e53deed419f742f69d08ccef491, with details in advisory https://github.com/blakeblackshear/frigate/security/advisories/GHSA-r5fm-h944-8chq. The v0.17.2 handler enforces a fail-closed authorization check that blocks internal IPC topics outright and limits non-admin roles to read-only topics, so upgrading fully removes the vector without configuration changes. If immediate upgrade is not possible, compensating controls include auditing and minimizing the number of viewer accounts, rotating any shared or leaked viewer credentials, and ensuring viewer accounts are not distributed beyond trusted users, since no anonymous exploitation path exists; additionally, restricting network access to the Frigate web interface and WebSocket endpoint to trusted management networks reduces the pool of parties who could hold a valid viewer session. Note that disabling or weakening authentication is not a viable mitigation here because the vulnerable code path requires an authenticated session, and the practical trade-off of simply reclassifying viewer accounts as admin is that it removes the least-privilege separation entirely. After upgrading, review logs for the warning "Blocked unauthorized WebSocket message" to detect prior abuse, and verify that internal IPC topics such as INSERT_MANY_RECORDINGS or UPDATE_CAMERA_ACTIVITY can no longer be injected by non-admin clients.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Frigate is an open-source network video recorder that uses a WebSocket-based internal communications layer. In frigate/comms/ws.py, the received_message() handler takes the JSON message submitted by a WebSocket client and republishes it onto the internal dispatcher using the attacker-controlled "topic" value, effectively letting a client inject messages onto the application's internal message bus. Authentication is delegated to an nginx auth subrequest, which only confirms that a request is authenticated; it does not pass role information (HTTP_REMOTE_ROLE) into the handler, so the code never distinguishes an admin from a viewer. This is a classic CWE-862 missing authorization weakness: authentication exists but authorization does not, and all authorization decisions depend on a value the handler never validated. The upstream fix (PR 22710, commit 0371b60c715b8e53deed419f742f69d08ccef491) adds a _check_ws_authorization() function that fail-closes when no role header is present, unconditionally blocks internal IPC-only topics such as INSERT_MANY_RECORDINGS, INSERT_PREVIEW, REQUEST_REGION_GRID, UPSERT_REVIEW_SEGMENT, UPDATE_CAMERA_ACTIVITY and UPDATE_MODEL_STATE, and restricts non-admin roles to a small read-only allowlist (onConnect, modelState, audioTranscriptionState, birdseyeLayout, embeddingsReindexProgress). Admin topics such as restart, notifications/set, and per-camera detection, recording, snapshot, audio, motion and enablement settings were previously reachable by any authenticated viewer, allowing service disruption and silent disabling of security monitoring.
Know when Frigate gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
Network WebSocket, low complexity, requires valid viewer creds (PR:L), no UI; no data disclosure (C:N) but config tampering (I:H) and service restart / monitoring disablement (A:H).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Frigate is an open source network video recorder. Prior to 0.17.2, the WebSocket handler in frigate/comms/ws.py forwards attacker-selected message topics to the dispatcher without checking the authenticated user's role because the nginx authentication subrequest does not provide role-aware authorization to the handler. Any authenticated viewer can send admin-only topics such as restart, notifications/set, and camera detection, recording, snapshot, audio, motion, and enablement settings, causing service restarts or disabling security monitoring functions. Authentication must be enabled and valid viewer credentials are required. This issue is fixed in version 0.17.2.
Technical POC Analysis
CWE-862 (Missing Authorization) in Frigate's own application code, not in a third-party library.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A missing authorization flaw in Frigate NVR, the open-source network video recorder used for camera surveillance, allows any holder of a low-privilege viewer account to reach administrator-only control functions and force repeated service restarts that take camera monitoring offline. Because the affected capability is the surveillance platform itself, the exposure is to physical-security coverage rather than to customer or corporate data. The realistic threat actor is an insider or the holder of a leaked, shared, or stale viewer credential; no public exploit code has been identified at time of analysis.
Apply vendor patch (0.17.2). If the upgrade cannot be completed immediately, restrict issuance and sharing of viewer-level accounts, rotate leaked or shared viewer credentials, limit network reachability to the Frigate web interface, and alert on service restarts and unexpected control-topic traffic. Note: the structured patch field states 'NOT available' while the technical description identifies 0.17.2 as the vendor-released fix; validate patch availability with the vendor before scheduling.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Frigate NVR has a command injection vulnerability (CVSS 9.1) allowing authenticated attackers to execute OS commands on
Frigate is an open source network video recorder. Rated high severity (CVSS 7.5), this vulnerability is remotely exploit
Frigate is an open source network video recorder. Rated medium severity (CVSS 6.8), this vulnerability is remotely explo
Frigate versions prior to 0.17.0-beta1 contain an authentication weakness that allows any authenticated user to change a
Frigate is an open source network video recorder. Rated medium severity (CVSS 4.7), this vulnerability is remotely explo
Frigate NVR deployments prior to 0.18.0 ship an nginx configuration that routes the prefix-matched location /api/go2rtc/
Frigate network video recorder versions prior to 0.17.1 allow authenticated users with restricted camera access to enume
Broken access control in Frigate 0.17.0 allows authenticated non-admin users to retrieve the complete raw configuration
Frigate versions prior to 0.16.3 contain a Server-Side Request Forgery (SSRF) vulnerability in the /ffprobe endpoint tha
EUVD-2026-84530
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB