Разработчики опубликовали корректирующие версии фреймворка 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-конструкции.
В версии 4.1 разработчики дополнительно усилят защиту методов работы с датами. Однако, изменения в API могут привести к нарушению совместимости со сторонними бэкендами для работы с базами данных.