Ameaça emergente: Vulnerabilidade de injeção de SQL no Django (CVE-2025-64459)
O que é CVE-2025-64459?
A vulnerabilidade CVE-2025-64459 é uma vulnerabilidade crítica de injeção de SQL no ORM do framework web Django. Ela afeta versões do Django 5.1 anteriores à 5.1.14, versões do Django 4.2 anteriores à 4.2.26 e versões do Django 5.2 anteriores à 5.2.8. Versões anteriores e não suportadas, como 5.0.x, 4.1.x e 3.2.x, não foram avaliadas e também podem ser afetadas, o que torna implantações legadas especialmente arriscadas.
O problema reside na forma como o Django constrói as consultas ao banco de dados quando QuerySet.filter(), QuerySet.exclude(), QuerySet.get() e a classe Q() manipulam um dicionário especialmente criado. Quando esse dicionário é expandido com ** e usado como argumento _connector, um atacante pode controlar como as condições são combinadas na árvore de consulta e injetar SQL arbitrário na instrução final.
A avaliação CVSS v3.1 classifica esta vulnerabilidade como 9.1 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N), o que significa exploração remota, não autenticada e de baixa complexidade, com alto impacto na confidencialidade e integridade dos dados. Para qualquer aplicação Django voltada para a internet que aceite parâmetros de filtro controlados pelo usuário, a vulnerabilidade CVE-2025-64459 deve ser tratada como um problema urgente.
Quais ativos são afetados pela vulnerabilidade CVE-2025-64459?
A vulnerabilidade CVE-2025-64459 afeta qualquer implementação que execute versões vulneráveis do Django, onde a entrada do usuário pode influenciar a construção de consultas no ORM, especialmente por meio de recursos flexíveis de filtragem ou pesquisa.
Na superfície de ataque externa, isso geralmente inclui:
- Portais para clientes, parceiros ou de autoatendimento, construídos em Django, que permitem aos usuários pesquisar, filtrar ou gerar relatórios de dados.
- APIs públicas REST ou GraphQL que transformam parâmetros de consulta complexos ou filtros JSON em chamadas QuerySet.filter() ou expressões Q() complexas.
- Ferramentas administrativas ou de uso interno que acabaram expostas à internet devido a uma configuração incorreta.
- Serviços de longa duração ou “congelados” vinculados a versões antigas do Django que nunca foram atualizadas.
Esses sistemas são especialmente atraentes para atacantes quando estão diretamente na internet pública, conectam-se a bancos de dados com informações sensíveis, como registros de clientes ou credenciais, e suportam padrões de filtragem complexos que têm maior probabilidade de atingir a vulnerabilidade no tratamento de conectores. Dado o quão comum o Django é em produtos principais, projetos paralelos, marcas regionais e desenvolvimentos de terceiros, a maioria das organizações possui mais ativos Django potencialmente expostos do que seus inventários internos sugerem.
Existem soluções disponíveis?
Sim. O Django lançou atualizações de segurança que corrigem a vulnerabilidade CVE-2025-64459 em todas as versões suportadas.
- Django 5.2: atualize para a versão 5.2.8 ou posterior.
- Django 5.1: atualize para a versão 5.1.14 ou posterior.
- Django 4.2: atualize para a versão 4.2.26 ou posterior.
Essas versões adicionam a validação adequada em torno da palavra-chave _connector nos componentes internos de Q e QuerySet, de modo que dicionários controlados por atacantes não possam mais remodelar a árvore de consulta de forma a causar injeção de SQL.
Versões não suportadas, como 5.0.x, 4.1.x e 3.2.x, não foram avaliadas no aviso, mas podem compartilhar a lógica vulnerável. Para aplicativos nessas versões, a opção mais segura é migrar para uma versão suportada e corrigida o mais rápido possível.
Há outras medidas recomendadas a serem tomadas?
Aplicar patches no Django é o primeiro passo, mas algumas ações adicionais ajudarão a reduzir os riscos e tornar sua resposta mais eficaz.
- Mapeie sua exposição ao Django.
Crie um inventário simples de domínios e subdomínios expostos à internet que parecem executar o Django, incluindo ativos em aquisições, marcas regionais e hospedagem de terceiros. Use impressões digitais do framework, caminhos comuns e páginas de erro para identificar o Django mesmo quando a pilha de tecnologias não for óbvia. - Analise os endpoints de filtro e pesquisa.
Concentre-se nos endpoints que aceitam filtros flexíveis ou estruturas de pesquisa, como corpos JSON, parâmetros de consulta aninhados ou recursos de “pesquisa avançada”. Rastreie como esses valores fluem para `<string>`, `<string>`QuerySet.filter(),exclude()`<string>get()` ou ` <string>Q()`, especialmente onde você expande dicionários com**kwargs`<string>`, já que esse padrão é central para a vulnerabilidade CVE-2025-64459. - Reforce as permissões do banco de dados.
Certifique-se de que cada aplicação Django utilize uma conta de banco de dados dedicada com privilégios mínimos. Caso um atacante consiga explorar uma vulnerabilidade de injeção de SQL, permissões restritas podem limitar significativamente o que ele pode ler ou modificar. - Use WAF e monitoramento como mecanismos de proteção.
Um WAF configurado para padrões semelhantes a SQL não pode corrigir completamente um bug no nível do framework, mas pode bloquear payloads óbvios e sinalizar tentativas de sondagem. Combine isso com o monitoramento de padrões de consulta incomuns, leituras inesperadas de grande volume ou enumeração de esquemas em logs do banco de dados.
Nos casos em que aplicativos legados não possam ser atualizados rapidamente, considere removê-los da internet pública ou colocá-los atrás de uma VPN, autenticação forte e listas de permissão de IP até que possam ser modernizados ou desativados.
A vulnerabilidade CVE-2025-64459 está sendo explorada ativamente?
Neste momento, os dados públicos demonstram grande preocupação, mas não há confirmação de exploração generalizada.
Os principais bancos de dados tratam a vulnerabilidade CVE-2025-64459 como um problema crítico de injeção de SQL, com uma pontuação CVSS de 9,1 e impacto remoto e não autenticado evidente. Informações adicionais atualmente indicam que a exploração é “nenhuma”, mas classificam a vulnerabilidade como “automatizável” com impacto técnico total, o que significa que é fácil criar um script para ela assim que um atacante decidir investir tempo e recursos.
Ao mesmo tempo, descrições técnicas detalhadas, análises de diferenças entre patches e avisos de fornecedores já explicam a causa raiz e o caminho de exploração em linguagem simples, e a detecção começou a aparecer em scanners de vulnerabilidades comuns. Para uma vulnerabilidade tão simples e tão disseminada, esperar que ela apareça em uma lista de vulnerabilidades “exploradas conhecidas” antes de tomar providências é uma má ideia. Aplicativos Django expostos à internet devem ser tratados como prioridade máxima para aplicação de patches e revisão agora.
Como a CyCognito está ajudando os clientes a identificar ativos vulneráveis ao CVE-2025-64459?
A CyCognito descobre e analisa continuamente ativos expostos externamente para ajudar as organizações a entender se a vulnerabilidade CVE-2025-64459 pode afetar seu ambiente. A plataforma identifica sistemas baseados em Django vulneráveis na internet pública, destaca as condições de exposição que aumentam a probabilidade de uma injeção de SQL bem-sucedida (como aplicativos voltados para a internet que aceitam parâmetros de filtro controlados pelo usuário) e prioriza a correção com base na importância para os negócios e no impacto potencial.
A CyCognito publicou um alerta de ameaça emergente para a CVE-2025-64459 em sua plataforma e está pesquisando ativamente melhorias na cobertura de detecção dessa vulnerabilidade. A plataforma já identifica ativos expostos vinculados à pilha de tecnologia Django, e a CyCognito recomenda que seus clientes revisem todos os sistemas expostos à internet que executam o Django, especialmente aqueles que lidam com filtros dinâmicos e endpoints de busca, para avaliar a possível exposição, mesmo que ainda não tenham sido explicitamente identificados como executando uma das versões afetadas.
Consulte a página de Ameaças Emergentes da CyCognito para obter mais informações sobre vulnerabilidades potencialmente relevantes.
Como a CyCognito pode ajudar sua organização?
A CyCognito oferece às equipes de segurança uma visão clara de todos os ativos externos, incluindo sistemas cuja existência elas talvez desconheçam. Essa visibilidade facilita a localização de servidores Tomcat e a compreensão de quais deles são vulneráveis e expostos. Em vez de analisar listas de alertas extensas e ruidosas, as equipes visualizam quais sistemas são mais relevantes com base no impacto nos negócios e nas possíveis explorações em situações reais.
A CyCognito ajuda a verificar se o problema foi resolvido e continua monitorando as alterações, para que nenhum sistema recém-exposto passe despercebido. Isso ajuda as organizações a agirem com mais rapidez, reduzirem os riscos com segurança e se anteciparem aos ataques, em vez de reagirem depois que eles já ocorreram.
Para saber como a CyCognito pode ajudar você a entender sua superfície de ataque externa e os riscos aos quais está exposto, visite a página de Contato de nosso representante para agendar uma demonstração.
Veja também:
- Escalada crítica de privilégios SCIM no Grafana Enterprise
- Pesquisadores invadem memórias do ChatGPT e recursos de busca na web.
- OWASP Top 10: Controle de acesso falho ainda encabeça a lista de segurança de aplicativos
- AI autônoma pode redefinir comportamento criminoso
- Por que esperar pode custar milhões
- Por que a infraestrutura crítica precisa de segurança reforçada.
- Por que a IA oculta pode ser seu maior ponto cego de segurança
- usuários estão se casando e tendo filhos virtuais com chatbots de IA.
- Hackers usam AppleScript como arma para distribuir malware para macOS
- Novo ataque de phishing explora marcas populares
- Coerção de autenticação


Be the first to comment