Django выпустил плановые security-релизы 6.0.7 и 5.2.16 — закрыты три уязвимости, и у каждой любопытный механизм:
🔘 кэш-мидлварь UpdateCacheMiddleware и декоратор cache_page не кэшировали ответ с Set-Cookie, только если входящий запрос был совсем без cookie. Если у пользователя уже была любая безобидная cookie вроде выбора темы, защита не срабатывала — и ответ с чужой сессионной cookie мог осесть в общем кэше;
🔘 при создании GDALRaster из bytes свойство vsi_buffer могло прочитать примерно 32 байта за границей буфера — с риском утечки соседней памяти кучи, а в редких случаях и падения процесса;
🔘 DomainNameValidator пропускал переносы строк в доменных именах — если такое значение попадало в HTTP-ответ, открывалась инъекция заголовков.
Первые две помечены низкой серьёзностью, но команда рекомендует обновиться как можно скорее всем.
Обновляете Django сразу после security-релизов или ждёте планового окна?
@zen_of_python
Post #4845
2.06K