Разработчики опубликовали корректирующие выпуски фреймворка Django 4.0.6 и 3.2.14, в которых устранили уязвимость CVE-2022-34265. Она потенциально позволяла выполнить подстановку своего SQL-кода.

Потенциальная уязвимость SQL Injection существовала в основной ветке Django, а также в версиях 4.1 (в настоящее время в бета-версии), 4.0 и 3.2. Проблема затрагивала приложения, использующие непроверенные внешние данные в параметрах kind и lookup_name, передаваемых в функции Trunc(kind) и Extract(lookup_name). Тех программ, которые допускают только проверенные данные в значениях lookup_name и kind, она не касалась.
Разработчики запретили использовать в аргументах функций Extract и Trunc символы, отличные от букв, цифр, "-", "_", "(" и ")". Ранее в передаваемых значениях не вырезалась одинарная кавычка, и это позволяло выполнить свои SQL-конструкции через передачу значений вида "day' FROM start_datetime)) OR 1=1;--" и "year', start_datetime)) OR 1=1;--".
В выпуске 4.1 разработчики дополнительно усилят защиту методов извлечения и усечения дат. Однако изменения в API приведут к нарушению совместимости со сторонними бэкендами для работы с базами данных.