Очередной фикс уязвимостей в безопасности.
Исправлена функция reverse()
. Можно было, при определенной комбинации аргументов, получить ссылку относительно протокола, а не домена, и перенаправить пользователя на сторонний сайт.
Изменена генерация уникального названия загружаемого файла. Раньше добавлялся инкрементированный индекс(_1, _2 и т.д.). Если файл с таким названием уже существует, инкрементировался индекс, пока не получалось уникальное названия файла. При загрузке большого количества небольших файлов с одинаковым названием, os.stat()
вызывался все большее количество раз, что влияло на производительность сервера. Теперь добавляется случайная строка.
Исправлен RemoteUserMiddleware
. При смене заголовка REMOTE_USER
без "логаута", можно было получить доступ к сессии другого пользователя. Теперь будет выполнятся повторная авторизация пользователя.
Исправлена страница выбора связанных объектов в админке. Выбор связанного объекта для ForeignKey
можно настроить как через список(<select>
), так и в новом окне. Название поля связи передавалось через URL окна. Проверка прав доступа к модели выполнялась, но не проверялось является ли переданное поле связью между моделями. Таким образом, зная структуру модели, можно было получить доступ к любому полю модели.
Полное описание релизов доступно на официальном сайте.