Django corrigiu uma vulnerabilidade de SQL Injection em novas versões

E o Django corrigiu uma vulnerabilidade de SQL Injection em novas versões. Confira os detalhes dessa falha e atualize.

Django é um framework para desenvolvimento rápido para web, escrito em Python, que utiliza o padrão model-template-view.

Ele foi criado originalmente como sistema para gerenciar um site jornalístico na cidade de Lawrence, no Kansas. Tornou-se um projeto de código aberto e foi publicado sob a licença BSD em 2005.

Agora, o projeto Django corrigiu uma vulnerabilidade de alta gravidade em seus últimos lançamentos.

Django corrigiu uma vulnerabilidade de SQL Injection em novas versões

Django corrigiu uma vulnerabilidade de SQL Injection em novas versões
Django corrigiu uma vulnerabilidade de SQL Injection em novas versões

Rastreada como CVE-2022-34265, a potencial vulnerabilidade de SQL Injection existe na ramificação principal do Django e nas versões 4.1 (atualmente em beta), 4.0 e 3.2. Novos lançamentos e patches lançados recentemente eliminam a vulnerabilidade.

Dezenas de milhares de sites, incluindo algumas marcas populares somente nos EUA, escolhem o Django como seu framework Model-Template-View, de acordo com algumas estimativas.

É por isso que a necessidade de atualizar ou corrigir suas instâncias do Django contra bugs como esses é crucial.

E a equipe do Django lançou as versões Django 4.0.6 e Django 3.2.14 que tratam de uma vulnerabilidade de injeção SQL de alta gravidade e está pedindo aos desenvolvedores que atualizem ou corrijam suas instâncias do Django o mais rápido possível.

Atribuída CVE-2022-34265, a vulnerabilidade pode permitir que um agente de ameaças ataque aplicativos da Web Django por meio de argumentos fornecidos às funções Trunc(kind) e Extract(lookup_name).

Segundo o comunicado:

“As funções de banco de dados Trunc() e Extract() estavam sujeitas a injeção de SQL se dados não confiáveis ​​fossem usados ​​como um valor kind/lookup_name. Aplicativos que restringem o nome de pesquisa e a escolha de tipo a uma lista segura conhecida não são afetados.”

Em outras palavras, seu aplicativo não é vulnerável se estiver executando algum tipo de sanitização de entrada ou escapando antes de passar esses argumentos para as funções Trunc e Extract.

O pesquisador Takuto Yoshikai, do Aeye Security Lab, foi creditado por relatar a vulnerabilidade com responsabilidade.

Para aqueles incapazes de atualizar para as versões corrigidas do Django 4.0.6 ou 3.2.14, a equipe disponibilizou patches que podem ser aplicados às versões afetadas existentes.

Patches para resolver o problema foram aplicados à ramificação principal do Django e às ramificações de lançamento 4.1, 4.0 e 3.2. Os patches podem ser obtidos a partir dos seguintes changesets:

“Esta versão de segurança atenua o problema, mas identificamos melhorias nos métodos da API de banco de dados relacionados à extração e truncado de data que seriam benéficos para adicionar ao Django 4.1 antes de [sua] versão final”, afirma ainda a equipe do Django.

“Isso afetará os backends de banco de dados de terceiros usando o Django 4.1 release candidate 1 ou mais recente, até que eles possam atualizar para as alterações da API. Pedimos desculpas pelo inconveniente.”

A política de segurança do Django afirma que quaisquer possíveis problemas de segurança sejam relatados em particular por e-mail para [email protected], em vez de usar a instância Trac do Django ou listas de discussão públicas.

Sobre o Edivaldo Brito

Edivaldo Brito é analista de sistemas, gestor de TI, blogueiro e também um grande fã de sistemas operacionais, banco de dados, software livre, redes, programação, dispositivos móveis e tudo mais que envolve tecnologia.