Разработчики популярного веб-фреймворка Django выпустили экстренные обновления безопасности, устраняющие серьезную уязвимость в модуле работы с геоданными. Уязвимость, получившая идентификатор CVE-2026-1207, позволяет злоумышленникам внедрять произвольные SQL-команды через запросы к полям типа RasterField. Проблема затрагивает проекты, использующие базу данных PostGIS, и актуальна для веток 4.2, 5.2 и новейшей 6.0.
Корень проблемы кроется в методе проверки растровых данных внутри движка GeoDjango. Разработчики допустили классическую ошибку при формировании SQL-запроса: параметры индексов каналов (band index) подставлялись в строку команды напрямую через форматирование, минуя механизмы параметризации. Это открыло возможность для атаки: передав специально сформированную строку, хакер может "вырваться" из синтаксиса функции ST_Intersects и выполнить собственный код на уровне базы данных.
Технически атака реализуется через манипуляцию параметрами поиска lookup. Если приложение принимает пользовательские данные и передает их в фильтры ORM без должной валидации, атакующий может отправить полезную нагрузку, которая закроет скобку легитимного запроса и добавит вредоносную часть. Результатом такой инъекции может стать полное компрометирование базы данных: от кражи конфиденциальной информации до её модификации или полного удаления.
Для защиты своих проектов необходимо как можно скорее обновить Django до безопасных версий 6.0.2, 5.2.11 или 4.2.28. Если немедленное обновление невозможно, в качестве временной меры рекомендуется внедрить жесткую валидацию входных данных, убедившись, что передаваемые значения индексов являются исключительно целыми числами, прежде чем они попадут в ORM-запросы.
Читайте также
Конец эпохи XSS: как арест администратора Toha расколол русскоязычное киберподполье
Драйвер EnCase 2006 года стал оружием хакеров: атака BYOVD отключает 59 средств защиты
Уязвимость в Zyxel (CVE-2025-11730): инъекция команд через DDNS в популярных фаерволах