Terminal-style title card: Frigate 0.18.2 patches root code execution flaws, upgrade now

Frigate 0.18.2 patches root code execution flaws: upgrade now

If you run Frigate 0.18.0 or 0.18.1, upgrade to 0.18.2 now. It fixes a flaw (CVSS 9.9) that lets any logged-in user, even a viewer account, run commands as root in the container. Pin the 0.18.2 tag, copy your config folder, pull and restart. It also includes the three 0.18.1 fixes, among them the admin check bypass.

Last updated 16 October 2026. Sources are linked in the text and listed at the end.

What changed

Frigate shipped two maintenance releases for the 0.18 line in three days. 0.18.1 landed on 13 October with three security fixes and a batch of stability work. 0.18.2 followed on 15 October with three more security fixes and nothing else. Each fix has a GitHub security advisory (GHSA). None had a CVE ID assigned when we checked on 16 October.

Table of six Frigate 0.18 security advisories with severity scores and the version that fixes each, 0.18.1 or 0.18.2
Every advisory fixed in Frigate 0.18.1 and 0.18.2, with CVSS score and who can exploit it. Source: Frigate GitHub advisories.

The two critical fixes in 0.18.2

GHSA-93xj-hg88-ffg7 (CVSS 9.9) is the serious one. Three live-view websocket paths are proxied by nginx straight to go2rtc, the streaming component bundled inside Frigate, and skip the filter that blocks dangerous stream sources. The only check on those paths is a camera restriction that the built-in viewer role is exempt from by default. Any authenticated account can therefore start an attacker-controlled ffmpeg process, write files anywhere in the container and run code as root. It needs a login, but not an admin one. Affected: 0.18.0 and 0.18.1.

GHSA-qjjw-3v66-279f (CVSS 9.1) is the admin-level version. The blocklist added after the earlier CVE-2026-25643 catches exec:, echo: and expr: stream sources but not ffmpeg:, which go2rtc expands into exec: internally. An admin, or anyone holding an admin session, gets root code execution. The advisory points out that Frigate’s documented setup often runs the container privileged with host paths mounted, which makes escaping the container a realistic next step.

The third 0.18.2 fix, GHSA-3cxh-fj2f-h497 (6.5), lets a user restricted to some cameras read other cameras’ clips, recordings and live streams with paths such as //clips/.... Part of it was a regression introduced by the 0.18.1 fix for the Host header bypass.

What 0.18.1 fixed, including the admin check bypass

The admin check bypass is GHSA-x2ch-x8hv-75xf (CVSS 6.3, medium). Frigate waives its default admin requirement for any URL whose first segment matches a camera name. Name a camera faces, lpr, audio or classification and viewer accounts can read the face registry and write face-training data. It affects every release from 0.17.0-beta1 to 0.18.0. The other two: GHSA-935r-r3xx-6gmw, where a # in the Host header bypassed per-camera media checks, and GHSA-6hh9-gv48-g8q6, where any logged-in user could register a malformed push subscription that crashes Frigate on every start.

0.18.1 also carries the non-security work: lower CPU use with Intel QSV on high frame rate cameras, a semantic search reindexing fix, backed-off restarts when a recording stream goes stale, and record status no longer sticking on offline after an ffmpeg restart.

What it means for your homelab

Frigate is often the most exposed thing in a home setup: the camera feed people want on their phone away from home. If yours is reachable from the internet, through a port forward, a tunnel or a reverse proxy, any account on it, including the one you gave a family member, is now a route to root in the container. Upgrade first and review the accounts second.

If you are still on 0.17.x, the two critical 0.18.2 advisories list 0.18.0 as the first affected version, but 0.17.2 has its own unfixed issues that 0.18.0 closed. The jump to 0.18 has real breaking changes (GenAI config, snapshots, zone and mask format, FFmpeg 8), so read the 0.18.0 notes before you move.

Until you can upgrade, keep Frigate off the open internet (our UFW guide shows how to limit a service to your LAN), delete viewer accounts nobody uses, and do not leave admin sessions open on shared devices. Those steps narrow who can reach the bugs; they do not fix them.

How do I check my version and upgrade?

Check what is running. The Frigate image has curl and answers on its internal API port, so this works without logging in (change frigate if your container has another name):

docker exec frigate curl -s http://127.0.0.1:5000/api/version

Back up before you pull. Frigate keeps its config and its SQLite database (frigate.db) in the config folder. Stop the container and copy the folder (the path is whatever you mount to /config):

docker compose stop frigate
cp -a ./config ./config-backup-$(date +%F)

Pin the version in docker-compose.yml. The install docs use :stable, which tells you nothing about what is actually running. Keep any hardware suffix you already use (-tensorrt, -rk, -rocm, -standard-arm64, -tensorrt-jp6, -synaptics):

    image: ghcr.io/blakeblackshear/frigate:0.18.2
docker compose pull frigate
docker compose up -d frigate
docker exec frigate curl -s http://127.0.0.1:5000/api/version

Then check the things that break quietly: live view loads for each camera, the detector shows inference speed under System metrics, and a new recording segment appears within a few minutes. If you run Frigate as a Home Assistant app (add-on), update it from Home Assistant and confirm it reports 0.18.2 before assuming you are covered.

Career Context: The 9.9 here is a textbook broken access control chain: a proxy route that skipped the filter its sibling route enforced, plus a role check the default role was exempt from. Being able to read an advisory like this, name the trust boundary that failed, and turn it into “which of our systems run this, which version, who can log in” is exactly the vulnerability management work security analyst and platform engineer interviews probe.

Sources

Enjoyed this guide?

New articles on Linux, homelab, cloud, and automation every 2 days. No spam, unsubscribe anytime.

Scroll to Top