Navidrome · Navidrome · CVE-2024-47062
**Nome do software vulnerável e versões afetadas**
Versões do Navidrome anteriores à 0.53.0
**Descrição**
O problema está relacionado a injeção de SQL e contorno de autenticação no Navidrome Music Server. O Navidrome adiciona automaticamente parâmetros da URL às consultas SQL, o que pode ser explorado para acessar informações ao adicionar parâmetros como `password=...` na URL. Os nomes dos parâmetros não são escapados adequadamente, levando a injeções de SQL. Além disso, o nome de usuário é usado em uma instrução `LIKE`, permitindo que as pessoas façam login com `%` em vez de seu nome de usuário. Isso pode ser usado para vazar informações e extrair o conteúdo do banco de dados. Os invasores podem usar o endpoint da API `/api/user` para testar se algumas senhas criptografadas começam com uma string específica, permitindo-lhes realizar ataques de força bruta contra senhas. Por exemplo, os invasores podem usar a seguinte solicitação: `GET /api/user? end=36& order=DESC&password=AAA%`. Isso resulta em uma consulta SQL como `password LIKE ‘AAA%’`.
**Recomendações**
Para versões anteriores à 0.53.0, atualize para a versão 0.53.0 para corrigir as vulnerabilidades de injeção de SQL e contorno de autenticação. Como solução temporária, considere restringir o acesso aos pontos de extremidade da API `/api/user` e `/api/album` para minimizar o risco de exploração. Evite usar o parâmetro `password` na URL até que o problema seja resolvido. Restrinja o acesso à função `userRepository` para evitar falhas de autenticação.