Екипът за разработка на Django пусна версии Django 6.0.8 и Django 5.2.17, за да отстрани четири уязвимости в сигурността, засягащи поддържаните версии на Python уеб рамката.
Разработчиците и администраторите се призовават да обновят системите си възможно най-скоро, особено в случаите, когато GIS функциите на Django или вграденият администраторски интерфейс са достъпни за служители.
Най-сериозният проблем, проследяван като CVE-2026-15307, е оценен с висока степен на сериозност. Той засяга пространствените търсения (spatial lookups) в Django, които обработват стойности, свързани с растерни данни, чрез GDALRaster.
Преди това пространствените търсения можеха да приемат низове и речници, когато те представляваха растери. В зависимост от избрания растерен драйвер, злонамерена стойност можеше да задейства запис на файл на сървъра или да изпрати мрежова заявка, използвайки разрешенията на процеса на Django.
Django отстранява четири слаби места в сигурността
В определени среди поведението при запис на файл може потенциално да доведе до отдалечено изпълнение на код (RCE). Проблемът беше особено актуален за списъците с промени (changelists) в администраторския панел на Django, където потребители от персонала с права за преглед можеха да използват филтриране върху регистрирани модели, съдържащи пространствени полета.
Сега Django блокира използването на стойности от тип речник и низове, които не са валидни GEOSGeometry обекти, в пространствени търсения. Тази промяна в сигурността може да засегне приложения, които разчитат на тези типове входящи данни.
От Django заявиха, че присвояването на стойности на полетата на моделите остава непроменено и все още може да ги приема. Разработчиците, които обработват недоверени пространствени данни, трябва да ги валидират преди употреба и да прегледат насоките за сигурност на Django за растери, преди да възстановят подобна функционалност в персонализиран код.
CVE-2026-15337 адресира риск от отказ на услуга (DoS) с ниска степен на сериозност във функцията django.utils.translation.check_for_language(). Функцията можеше да съхранява голям брой различни и прекомерно дълги езикови кодове в кеш паметта.
Атакуващ може да изпрати дълги стойности чрез POST заявки към незадължителния изглед set_language(), като постепенно консумира памет.
Въздействието върху паметта беше ограничено от настройките за размер на заявките в Django и максималния брой записи в кеша. Въпреки това, обновяването вече отхвърля езикови кодове, по-дълги от 500 знака, преди те да достигнат до кешираното търсене, намалявайки ненужното потребление на памет.
Друг дефект, водещ до отказ на услуга, CVE-2026-15830, засяга приложения, използващи географска обработка на геометрия. Дълбоко вложени обекти GEOMETRYCOLLECTION могат да причинят срив на сегментирането (segmentation fault) в основната библиотека GEOS.
Това може да позволи на атакуващ да наруши работата на приложение на Django, ако в пространствените търсения или във форма на полето GeometryField бъдат подадени специално изготвени геометрични данни.
Корекциите налагат лимит от максимум 198 вложени геометрични колекции за текстови входни данни (WKT). За двоични входни данни (WKB) Django ограничава общия брой геометрични колекции до 198.
Разработчиците, които изискват различен праг, могат да използват новата настройка max_geom_collections, налична в GEOSGeometry, както и в съответните полета на форми и модели. Входните данни от тип GeoJSON не са засегнати, тъй като GDAL ги анализира.
Четвъртият проблем, CVE-2026-15920, е риск от съхранена междусайтова скриптова атака (stored XSS) със средна степен на сериозност в администраторските изгледи на Django. Стойностите в URLField се изобразяваха като кликаеми връзки в списъците с промени и в полетата на администратора само за четене, без първо да се потвърди, че URL адресът използва безопасна схема.
По този начин съхранена стойност, използваща опасна схема, можеше да се появи като активна връзка. Django вече валидира стойностите в URLField с URLValidator, преди да ги изобрази като връзки. Невалидните стойности се показват като обикновен текст.
Корекциите са приложени и в главния клон на Django, както и в клона за кандидат-версията Django 6.1. Организациите трябва незабавно да обновят своите внедрени инсталации на Django, да тестват съвместимостта на пространствените търсения и да прегледат контрола на достъпа до администраторския панел и практиките за валидиране на входни данни.