PT-2025-45119 · Django+4 · Django+4
Cyberstan
+2
·
Publicado
2025-11-05
·
Atualizado
2026-04-22
·
CVE-2025-64459
CVSS v2.0
9.4
Crítica
| Vetor | AV:N/AC:L/Au:N/C:C/I:C/A:N |
Nome do Software Vulnerável e Versões Afetadas
Versões do Django anteriores a 5.1.14, anteriores a 4.2.26 e anteriores a 5.2.8
Descrição
O Django está suscetível a um problema de injeção de SQL devido ao tratamento inadequado da expansão de dicionário ao usar os métodos
QuerySet.filter(), QuerySet.exclude() e QuerySet.get(), bem como a classe Q(). Um atacante pode injetar código SQL malicioso criando um dicionário com um argumento connector especificamente projetado. Isso permite potencial manipulação do banco de dados, incluindo bypass de autenticação, exfiltração de dados e escalonamento de privilégios. Séries do Django não suportadas anteriormente (como 5.0.x, 4.1.x e 3.2.x) também podem ser afetadas. A vulnerabilidade surge quando entrada controlada pelo usuário é passada diretamente para esses métodos via expansão de dicionário. O parâmetro connector pode ser manipulado para alterar a lógica da consulta, por exemplo, alterando 'AND' para 'OR'.Recomendações
Atualize para as versões 5.2.8, 5.1.14 ou 4.2.26 do Django.
Audite o código em busca de usos de
QuerySet.filter(), QuerySet.exclude() e QuerySet.get() com expansão de dicionário.
Nunca passe request.GET.dict() diretamente para métodos do QuerySet.
Implemente validação de entrada usando Formulários do Django.
Implemente whitelist de parâmetros de filtro.
Mapeie campos explicitamente em vez de usar expansão de dicionário.
Monitore logs em busca de uso dos parâmetros connector e negated.Exploit
Correção
DoS
SQL injection
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Debian
Django
Linuxmint
Red Os
Ubuntu