В Django выявлены две опасные уязвимости: риск SQL-инъекций и DoS-атак

В одном из самых популярных веб-фреймворков — Django — обнаружены две серьёзные уязвимости. Команда разработчиков выпустила критически важные обновления безопасности. Первая уязвимость имеет высокий уровень опасности, вторая — средний, однако обе способны нарушить стабильную работу серверов.

1. SQL-инъекция и повреждение базы данных (CVE-2025-13372)

Уязвимость затрагивает проекты на PostgreSQL и связана с классом FilteredRelation, где некорректно обрабатываются псевдонимы столбцов.

Злоумышленник может передать специально сформированный словарь в методы QuerySet.annotate() или QuerySet.alias(), что позволяет:

  • внедрить вредоносный SQL-код в запрос;
  • нарушить целостность данных;
  • изменить или удалить информацию в базе.

Уязвимость классифицирована как высокий риск, обновление требуется незамедлительно.

2. Возможность DoS-атаки через XML-serializer (CVE-2025-64460)

Вторая проблема обнаружена в методе getInnerText() модуля XML-сериализации. Она обусловлена избыточной алгоритмической сложностью.

При обработке специально подготовленных XML-данных сериализатор:

  • многократно объединяет строки,
  • увеличивает время обработки,
  • резко повышает загрузку CPU и памяти.

Это позволяет инициировать DoS-атаку, приводящую к сильному замедлению или отключению сервера. Несмотря на средний уровень опасности, реальный ущерб может быть значительным.

Затронутые версии и обновления

Уязвимости затрагивают все поддерживаемые версии Django, включая готовящуюся к выпуску Django 6.0 (RC).

Выпущены обновления безопасности:

  • Django 5.2.9
  • Django 5.1.15
  • Django 4.2.27

Пользователям ветки main также рекомендуется обновиться до последних коммитов.

Рекомендации по защите

Обновите Django как можно быстрее — это лучший способ предотвратить SQL-инъекции и DoS-атаки.
Ограничьте обработку XML-данных из ненадёжных источников.
Проведите расширенный аудит кода, особенно при использовании annotate и alias.
Настройте мониторинг ресурсов, чтобы вовремя заметить аномальные нагрузки.

Уязвимости CVE-2025-13372 и CVE-2025-64460 создают серьёзную угрозу для любого Django-проекта. SQL-инъекция может нарушить работу базы данных, а уязвимость XML-serializer — вызвать отказ сервера. Своевременная установка обновлений — ключевой фактор устойчивой и безопасной инфраструктуры.