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.
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.