Критические уязвимости в Django позволяют проводить SQL-инъекции и DoS-атаки

vulnerability

Команда разработчиков Django выпустила экстренные патчи для устранения двух серьезных уязвимостей в популярном веб-фреймворке. Обнаруженные недостатки безопасности позволяют злоумышленникам осуществлять внедрение SQL-кода и проводить атаки типа «отказ в обслуживании» (DoS). Релизы безопасности Django версий 5.2.8, 5.1.14 и 4.2.26 были опубликованы 5 ноября 2025 года в соответствии с политикой безопасности проекта.

Детали уязвимостей

Наиболее критичная уязвимость CVE-2025-64459 с оценкой CVSS 9.8 затрагивает операции QuerySet - основного механизма взаимодействия с базой данных в Django. Исследователи безопасности обнаружили, что методы QuerySet.filter(), QuerySet.exclude() и QuerySet.get(), а также класс Q() уязвимы к SQL-инъекциям при использовании специально сформированного словаря в качестве аргумента _connector. Это позволяет злоумышленникам внедрять вредоносный (malicious) SQL-код в выполняемые запросы к базе данных.

Опасность данной уязвимости заключается в ее доступности для эксплуатации. Разработчики, использующие стандартные операции QuerySet, могут непреднамеренно создавать условия для SQL-инъекций при обработке непроверенных пользовательских данных. Успешная эксплуатация уязвимости позволяет обходить системы безопасности приложения и выполнять произвольные SQL-команды напрямую в базе данных, что представляет серьезную угрозу для производственных сред.

Вторая уязвимость CVE-2025-64458 классифицирована как умеренно опасная с оценкой CVSS 5.3 и затрагивает функции HttpResponseRedirect и HttpResponsePermanentRedirect в средах Windows. Проблема связана с неэффективной обработкой нормализации Unicode NFKC в Python, которая становится критичной при работе с входными данными, содержащими большое количество Unicode-символов. Злоумышленники могут создавать специально сформированные запросы с избыточными Unicode-данными, вызывая потребление значительных системных ресурсов и делая приложение недоступным.

Хотя эта уязвимость оценивается как умеренная, администраторам Windows-систем следует проявлять бдительность, поскольку успешная эксплуатация может привести к нарушению доступности сервисов. Атака не требует аутентификации и может выполняться удаленно, что делает ее потенциальным вектором для злоумышленников, ориентированных на Django-приложения, развернутые в средах Windows.

Патчи, устраняющие обе уязвимости, были применены ко всем затронутым версиям Django, включая основную ветку разработки и Django 6.0 beta. Организациям, использующим Django 4.2, 5.1 или 5.2, рекомендуется немедленно обновиться до исправленных версий. Затронутые версии представляют значительную часть развернутых установок Django, что делает эти уязвимости проблемой безопасности, затрагивающей всю экосистему фреймворка.

Эксперты по кибербезопасности подчеркивают важность своевременного обновления, особенно для приложений, обрабатывающих конфиденциальные данные или функционирующих в публичном доступе. Рекомендуется также проводить аудит кода на предмет использования уязвимых методов QuerySet и обеспечивать надлежащую валидацию пользовательского ввода. Для организаций, использующих Django на Windows-серверах, дополнительно рекомендуется мониторинг необычной активности, связанной с обработкой перенаправлений.

Выпуск этих патчей демонстрирует продолжающиеся усилия сообщества Django по поддержанию безопасности фреймворка, но также напоминает разработчикам о необходимости постоянного отслеживания обновлений безопасности и следования лучшим практикам безопасного программирования.

Ссылки

Комментарии: 0