Descoberta e escopo
O projeto Django liberou correções para duas falhas descritas como de alta e moderada severidade. A mais crítica é a CVE-2025-13372, um SQL injection que afeta projetos que usam PostgreSQL e está relacionado ao funcionamento da classe FilteredRelation — especificamente ao tratamento de aliases de colunas.
Abordagem técnica
A CVE-2025-13372 ocorre quando um dicionário especialmente construído (usando dictionary expansion) é passado para QuerySet.annotate() ou QuerySet.alias(). Segundo o comunicado, esse padrão pode permitir que código SQL malicioso seja injetado na query gerada.
A segunda falha, CVE-2025-64460, é classificada como de severidade moderada e envolve o serializador XML do Django. A vulnerabilidade está no método django.core.serializers.xml_serializer.getInnerText(), que apresenta problemas de complexidade algorítmica. Ao processar entradas XML especialmente manipuladas, o serializador concatena strings repetidamente ao coletar nós de texto, resultando em comportamento de tempo de execução “superlinear”.
Vetores de exploração e mitigação
Conforme as notas técnicas publicadas pelo projeto, a exploração do SQL injection depende do uso de dicionários expandidos em chamadas a annotate() ou alias() — vetores presentes em aplicações que constroem dinamicamente anotações de queryset. Para a falha do serializador XML, a exploração se dá através do processamento de XML criado para forçar concatenações repetidas e levar a consumo elevado de CPU e memória.
O projeto Django já disponibilizou atualizações lançamentos: 5.2.9, 5.1.15 e 4.2.27. Desenvolvedores que mantêm código nas versões suportadas devem atualizar para as releases indicadas ou, se utilizam o branch principal ou o release candidate do Django 6.0, devem puxar os commits mais recentes do repositório oficial, conforme orientação do anúncio.
Impacto e alcance
As fontes indicam que as vulnerabilidades afetam todas as versões suportadas do framework, incluindo o branch principal e o candidato de versão 6.0. A CVE-2025-13372 é categorizada como de alta severidade (SQL injection) e pode comprometer a integridade do banco de dados em projetos que usem PostgreSQL; a CVE-2025-64460 é de severidade moderada e pode causar negação de serviço ao elevar o uso de CPU e memória.
As notas não fornecem contagens de sistemas afetados nem exemplos públicos de exploração ativa; as informações disponíveis descrevem o vetor e as versões afetadas, e indicam as releases de correção. As fontes não detalham se houve exploração em ambiente real antes da correção.
Limitações das informações
As comunicações oficiais não incluem amostras de exploração, indicadores de comprometimento (IOCs) ou evidências de abuso em produção. Também não há detalhes adicionais sobre a facilidade prática de exploração em cenários específicos além do vetor técnico descrito (dictionary expansion em annotate/alias e entrada XML malformada para o serializador).
Repercussão e próximos passos
Organizações que usam Django — especialmente projetos com PostgreSQL e que constroem consultas dinâmicas — devem priorizar a aplicação das versões de segurança publicadas. Para equipes responsáveis por bibliotecas e plataformas que dependem do framework, a recomendação é revisar o uso de QuerySet.annotate()/alias() com dicionários dinâmicos e validar entradas XML quando o serializador for utilizado.
Do ponto de vista regulatório, as fontes não mencionam impactos legais ou referências à LGPD; qualquer implicação sobre dados pessoais dependerá do contexto de uso das aplicações afetadas e não está detalhada no comunicado.
Resumo técnico
- CVE-2025-13372 — SQL injection (alta): falha em FilteredRelation ao tratar aliases; exploração via dictionary expansion passado a
annotate()/alias(); afeta projetos que usam PostgreSQL. - CVE-2025-64460 — Denial of Service (moderada): problema de complexidade algorítmica em
django.core.serializers.xml_serializer.getInnerText(), permitindo consumo excessivo de CPU/memória ao processar XML manipulado. - Correções publicadas: Django 5.2.9, 5.1.15 e 4.2.27; branch principal e Django 6.0 RC também receberam commits para mitigar as falhas.
As fontes consultadas resumem as vulnerabilidades e disponibilizam as correções; equipes de desenvolvimento e segurança devem aplicar os updates e revisar pontos de uso descritos nas mudanças.