Разработчики веб‑фреймворка Django, одного из наиболее популярных инструментов на Python, выпустили важное обновление безопасности. Устранена уязвимость CVE-2025-64460, которая позволяет удаленно вызвать отказ в обслуживании (DoS) с помощью одного специально сформированного XML-файла. Проблема кроется в функции десериализации данных и угрожает стабильности всего веб-сервиса.
Уязвимость обнаружена в компоненте django.core.serializers.xml_serializer.getInnerText(), отвечающем за парсинг XML. Причина, неэффективный алгоритм с высокой вычислительной сложностью. Если передать системе специфический XML-файл, парсер начинает обрабатывать его с экспоненциальным потреблением ресурсов CPU и памяти. В результате приложение зависает или полностью перестает отвечать на легитимные запросы.
Атака не требует авторизации. Злоумышленнику достаточно отправить вредоносный файл на любой эндпоинт, принимающий XML (API, формы загрузки, интеграционные шлюзы). Это классический пример DoS-атаки через алгоритмическую сложность (Algorithmic Complexity Attack).
Риску подвержены версии Django-приложения, использующие встроенный XML-сериализатор для обработки данных из ненадежных источников. В зоне особого риска:
- Публичные API, принимающие XML-запросы;
- Административные панели с функцией импорта данных;
- Интеграции с внешними системами;
- Любые формы загрузки файлов, допускающие формат
.xml.
Если приложение работает исключительно с JSON, проблема вас не касается. Однако в Enterprise-секторе XML все еще является стандартом для многих интеграций.
Патч был выпущен 2 декабря 2025 года. Если вы еще не обновились, сделайте это немедленно. Если оперативное обновление невозможно, примените компенсирующие меры:
- WAF: Настройте Web Application Firewall для блокировки XML-файлов с чрезмерной вложенностью или аномальным размером.
- Сетевые ограничения: Разрешите прием XML только с доверенных IP-адресов (через межсетевой экран).
- Изоляция: Вынесите обработку XML в изолированный микросервис или «песочницу» с жесткими лимитами ресурсов, чтобы сбой не обрушил основное приложение.
- Мониторинг: Настройте SIEM на отслеживание резких скачков CPU и времени ответа при обращении к XML-эндпоинтам.
- Отказ от XML: Если бизнес-логика позволяет, полностью отключите обработку XML до установки патча.
Инцидент с CVE-2025-64460 напоминает: даже проверенные временем фреймворки уязвимы в базовых функциях. Если использование XML не является строгим требованием, рассмотрите переход на JSON для снижения поверхности атаки.