Критические уязвимости в Django ставят под угрозу тысячи веб-приложений

vulnerability

Команда разработчиков популярного веб-фреймворка Django выпустила срочные патчи для устранения двух опасных уязвимостей. Эти недостатки безопасности, обнаруженные в ядре фреймворка, открывают путь для SQL-инъекций и атак типа «отказ в обслуживании» (DoS, Denial-of-Service). Обновления, опубликованные 2 декабря 2025 года, затрагивают все актуальные версии, включая 5.2.9, 5.1.15, 4.2.27, а также кандидата в релиз Django 6.0.

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

Первая и наиболее серьёзная проблема получила идентификатор CVE-2025-13372. Она классифицируется как уязвимость высокой степени риска, позволяющая проводить SQL-инъекции. Недостаток кроется в функции "FilteredRelation" при использовании с базой данных PostgreSQL. Исследователь Stackered выявил, что злоумышленники могут передавать специально сформированные словари в методы "QuerySet.annotate()" или "QuerySet.alias()". В результате возникает возможность внедрения произвольного SQL-кода в запросы к базе данных. Успешная эксплуатация этой уязвимости может привести к несанкционированному доступу, изменению или удалению конфиденциальной информации в скомпрометированных приложениях.

Вторая уязвимость, зарегистрированная как CVE-2025-64460, имеет умеренный уровень опасности и связана с механизмом сериализации XML в Django. Исследователь безопасности Seokchan Yoon обнаружил проблему алгоритмической сложности в функции "django.core.serializers.xml_serializer.getInnerText()". Атака возможна путём отправки специально созданных XML-данных в сервисы, использующие XML Deserializer. Это вызывает чрезмерное потребление ресурсов центрального процессора и оперативной памяти, что может привести к значительному снижению производительности или полной недоступности сервиса. Проблема заключается в неэффективных операциях конкатенации строк при рекурсивном сборе текстовых узлов.

Обе уязвимости затрагивают широкий спектр развернутых систем. В зоне риска находятся все поддерживаемые на данный момент ветки фреймворка: Django 4.2, 5.1, 5.2 и кандидат в релиз 6.0. Следовательно, тысячи веб-приложений по всему миру, построенных на этой технологии, могут быть подвержены атакам. Для злоумышленников, особенно для групп APT (Advanced Persistent Threat, устойчивая продвинутая угроза), подобные уязвимости в фундаментальных компонентах представляют высокую ценность. Они позволяют проводить целенаправленные атаки на корпоративные порталы, системы управления контентом и интернет-магазины.

Команда безопасности Django оперативно отреагировала на угрозы. Патчи для всех затронутых веток разработки уже доступны на GitHub. Кроме того, официальный сайт проекта предлагает для скачивания обновлённые версии пакетов. Важно отметить, что выпуски были подписаны PGP-ключом с идентификатором 2EE82A8D9470983E, принадлежащим одному из основных сопровождающих проекта, Наталии Бидарт. Это стандартная практика, обеспечивающая целостность и подлинность дистрибутивов.

Администраторам и разработчикам настоятельно рекомендуется немедленно принять меры. Первоочерёдным действием должно стать обновление Django до исправленных версий. Если немедленный апдейт невозможен, следует рассмотреть временные меры. Например, для защиты от CVE-2025-13372 необходимо тщательно валидировать и санировать все пользовательские входные данные, особенно те, которые передаются в методы работы с QuerySet. Для смягчения рисков, связанных с CVE-2025-64460, можно ограничить или отключить обработку XML-ввода в уязвимых частях приложения, перейдя на альтернативные форматы сериализации, такие как JSON.

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

Ссылки

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