Cyberstan

#28458de 56,330
9.4CVSS total
Vulnerabilidades · 1
PT-2025-45119
9.4
2025-11-05
Django · Django · CVE-2025-64459
**Nome do Software Vulnerável e Versões Afetadas** Django versões 5.1 até 5.1.13 Django versões 4.2 até 4.2.25 Django versões 5.2 até 5.2.7 Django versões 5.0.x e anteriores Django versões 4.1.x e anteriores Django versões 3.2.x e anteriores **Description** Existe um problema nos métodos `QuerySet.filter()`, `QuerySet.exclude()` e `QuerySet.get()`, bem como na classe `Q()`, que os torna suscetíveis a injeção de SQL. Isso ocorre quando um dicionário adequadamente manipulado é utilizado com expansão de dicionário como o argumento ` connector`. Um invasor pode explorar isso passando parâmetros de consulta internos através de strings de consulta de URL ou dados POST que são então passados diretamente para esses métodos. Isso pode levar à manipulação da lógica do banco de dados, como a alteração da lógica AND para OR, resultando potencialmente em bypass de autenticação, escalonamento de privilégios e a divulgação ou modificação não autorizada de informações protegidas. **Recommendations** Atualizar as versões do Django 5.1 até 5.1.13 para a versão 5.1.14. Atualizar as versões do Django 4.2 até 4.2.25 para a versão 4.2.26. Atualizar as versões do Django 5.2 até 5.2.7 para a versão 5.2.8. Evitar a passagem de dados controlados pelo usuário, como `request.GET.dict()`, diretamente para os métodos QuerySet via expansão de dicionário. Implementar a lista branca (whitelisting) de parâmetros de filtragem permitidos ou usar o mapeamento explícito de campos em vez da expansão de dicionário. Utilizar Django Forms para validar os dados de entrada. Como mitigação temporária, restringir ou auditar o uso dos parâmetros ` connector` e ` negated` em requisições recebidas.