Foram lançadas versões corretivas do web framework Django 4.0.6 e 3.2.14, nas quais uma vulnerabilidade (CVE-2022-34265) foi corrigida, permitindo potencialmente a execução de injeção de SQL. O problema afeta aplicativos que usam dados externos não validados nos parâmetros kind e lookup_name, passados nas funções Trunc(kind) e Extract(lookup_name). Aplicativos que permitem apenas dados validados nos valores de lookup_name e kind não estão vulneráveis.
O problema foi solucionado pela proibição do uso de caracteres que não sejam letras, números, '-', '_', '(' e ')' nos argumentos das funções Extract e Trunc. Anteriormente, as apóstrofes não eram removidas dos valores passados, o que permitia executar suas próprias instruções SQL através da passagem de valores como "day' FROM start_datetime)) OR 1=1;—" e "year', start_datetime)) OR 1=1;—". Na próxima versão 4.1, está previsto um fortalecimento adicional da proteção dos métodos de extração e truncamento de datas, mas as mudanças realizadas na API resultarão em incompatibilidades com backends de terceiros para trabalhar com bancos de dados.
Fonte: opennet.ru
