/

CVE-2026-75608

Severity:

HIGH RISK

(7.7)

Broken Access Control (CWE-863) in Frigate go2rtc API

CVE-2026-75608

Deferred

Vulnerability type

Category:

Broken Access Control

CWE:

CWE-863

Impact:

Unauthorized Information Disclosure and Credential Exposure

Severity:

HIGH RISK

(7.7)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

Frigate's go2rtc API proxy allows authenticated viewer users to access sensitive GET endpoints without administrator authorization. This may expose internal addresses, configuration details, logs, stack data, and RTSP URLs that can contain camera credentials.

Affected context

The issue occurs in Frigate deployments where the NGINX configuration exposes the prefix-matched /api/go2rtc/api location to authenticated users. Although access requires authentication, GET requests are not restricted to administrator roles, allowing viewer accounts to reach selected go2rtc API subpaths. Non-GET methods remain restricted, so the exposure is primarily read-oriented.

Exploit preconditions

  • Attack surface: The Frigate HTTP API proxy for go2rtc
  • Required access: An authenticated account with viewer-level permissions
  • Trigger point: GET requests to exposed go2rtc API subpaths, including streams, config, log, and stack
  • Why exploitation is possible: Authorization checks distinguish authentication from administrative privilege and permit viewer access to sensitive read operations

Why this happens

The underlying flaw is an authorization boundary failure. The proxy requires a valid session but does not consistently enforce the administrator role for sensitive GET requests, allowing a lower-privileged user to access information intended for more trusted operators. This behavior maps to CWE-863: Incorrect Authorization, where access-control decisions do not properly reflect the required privilege level.

Potential impact

  • Viewer users may obtain internal service addresses and configuration paths
  • Application logs may reveal operational details or sensitive data
  • Goroutine stack information could disclose implementation and runtime details
  • RTSP stream URLs may expose camera credentials
  • Attackers could use disclosed information to target cameras or related services

General mitigation guidance

Mitigation generally focuses on enforcing authorization at every sensitive API boundary rather than relying on authentication alone.

Common defensive patterns include:

  • Require administrator authorization for configuration, diagnostic, logging, and stream-management endpoints
  • Apply consistent role checks to proxied routes and every supported HTTP method
  • Use explicit allowlists for endpoints accessible to viewer roles
  • Avoid embedding long-lived credentials in URLs where possible
  • Redact secrets from logs, diagnostics, and API responses
  • Apply least privilege to user accounts and service integrations
  • Treat internal addresses and operational metadata as sensitive information

How teams detect issues like this

Organizations can detect similar authorization issues through:

  • Static and dynamic analysis of route definitions and role-check middleware
  • Code review checks for authentication checks that lack role or capability checks
  • Tests that exercise every sensitive endpoint with viewer, operator, and administrator identities
  • Proxy and application logs showing viewer accounts requesting diagnostic or configuration paths
  • Policy enforcement requiring explicit authorization annotations for privileged API routes
  • Automated API security testing that compares responses across user privilege levels

Sources

SourceLink
github.comgithub.com/blakeblackshear/frigate/commit/520d9eeb7f0fe46021f29fb8169741dd1d429271
github.comgithub.com/blakeblackshear/frigate/pull/22735
github.comgithub.com/blakeblackshear/frigate/releases/tag/v0.18.0
github.comgithub.com/blakeblackshear/frigate/security/advisories/GHSA-mgh5-cr9h-g6hr

Frequently asked

questions

The described exposure requires authentication. The key authorization weakness is that a viewer-level account can access sensitive GET operations without administrator privileges.

Depending on the accessible subpath, the response may include streams, configuration paths, internal addresses, application logs, goroutine stack data, and RTSP URLs containing camera credentials.

Enforce administrator authorization for sensitive go2rtc API routes and verify that role checks apply consistently to proxied requests, not only to selected HTTP methods.

Use deny-by-default route policies, test endpoints with every relevant role, minimize secrets in URLs and logs, and monitor for lower-privileged users accessing administrative or diagnostic resources.

Find out what's already
exploitable in your codebase.