IA Squad
BuscarEN
python · motioneyeCrítico

motionEye: path traversal em handlers de mídia permite leitura arbitrária de arquivos

Múltiplos handlers de mídia no motionEye aceitam um parâmetro de nome de arquivo controlado pelo usuário e usam os.

24 Jun 2026Leitura 1 minSeveridade: mexe agora

O que mudou

Múltiplos handlers de mídia no motionEye aceitam um parâmetro de nome de arquivo controlado pelo usuário e usam os.path.join() para construir caminhos. Quando um caminho absoluto é fornecido, o Python descarta o diretório de mídia configurado e retorna o caminho fornecido pelo atacante. Os handlers também sobrescrevem a validação de caminho embutida do Tornado, permitindo leitura arbitrária de arquivos.

Quem isso afeta

Todas as instâncias do motionEye que expõem endpoints de reprodução/download de mídia (GET /movie/<camera_id>/playback/<filename>, GET /movie/<camera_id>/download/<filename>, GET /picture/<camera_id>/download/<filename>, GET /picture/<camera_id>/preview/<filename>).

O que fazer hoje

Aplique a correção: valide que o caminho canônico totalmente resolvido permanece dentro do diretório de mídia da câmera configurado antes de servir um arquivo, e não ignore a validação de caminho embutida do Tornado a menos que uma validação equivalente seja realizada.

A esteira
Coletado Auditado Redigido Publicado