Примечания к выпуску Django 1.4.22

18 августа 2015

Django 1.4.22 исправляет проблему безопасности в версии 1.4.21.

Он также исправляет поддержку pip 7+, отключая поддержку колеса. Старые версии 1.4 при установке с этими версиями pip молча собирали сломанное колесо.

Возможность отказа в обслуживании в представлении logout() путем заполнения хранилища сессий

Ранее сессия могла быть создана при анонимном доступе к представлению django.contrib.auth.views.logout() (при условии, что оно не было украшено login_required(), как это сделано в админке). Это могло позволить злоумышленнику легко создавать множество новых записей о сеансах, отправляя повторные запросы, потенциально заполняя хранилище сеансов или вызывая вытеснение записей о сеансах других пользователей.

Функция SessionMiddleware была изменена таким образом, чтобы больше не создавать пустые записи сеанса, в том числе, когда активна функция SESSION_SAVE_EVERY_REQUEST.

Кроме того, методы contrib.sessions.backends.base.SessionBase.flush() и cache_db.SessionStore.flush() были модифицированы, чтобы избежать создания новой пустой сессии. Владельцы сторонних бэкендов сессий должны проверить, присутствует ли такая же уязвимость в их бэкенде, и исправить ее, если это так.

Вернуться на верх