Hack Alerta

Django corrige SQL injection (CVE-2025-13372) e DoS (CVE-2025-64460)

O projeto Django liberou correções para duas vulnerabilidades críticas: CVE-2025-13372 (SQL injection de alta severidade, relacionada a FilteredRelation e ao uso de dictionary expansion em QuerySet.annotate()/alias() em projetos com PostgreSQL) e CVE-2025-64460 (DoS por complexidade algorítmica no serializador XML). Foram publicadas as releases 5.2.9, 5.1.15 e 4.2.27; o branch principal e o RC do Django 6.0 também receberam commits de correção.

Django publicou atualizações de segurança que corrigem duas vulnerabilidades — uma de SQL injection e outra de negação de serviço — e recomenda que desenvolvedores apliquem as correções imediatamente.

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.


Baseado em publicação original de Cyber Security News
Publicado pela Redação Hack Alerta com base em fontes externas citadas e monitoramento editorial do Hack Alerta. Para decisões técnicas, operacionais ou jurídicas, confirme sempre os detalhes na fonte original.