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

6 мая 2021

Django 3.2.2 исправляет проблему безопасности и ошибку в версии 3.2.1.

CVE-2021-32052: Возможность инъекции заголовка, поскольку URLValidator принимал новые строки во вводе на Python 3.9.5+

В Python 3.9.5+, URLValidator не запрещал новые строки и табуляцию. Если вы использовали значения с новыми строками в HTTP-ответе, вы могли пострадать от атак инъекции заголовков. Сам Django не был уязвим, поскольку HttpResponse запрещает новые строки в HTTP-заголовках.

Более того, поле формы URLField, которое использует URLValidator, молча удаляет новые строки и табуляцию на Python 3.9.5+, поэтому возможность попадания новых строк в ваши данные существует только в том случае, если вы используете этот валидатор вне полей формы.

Эта проблема была введена исправлением bpo-43882.

Исправления

  • Предотвращено, после регрессии в Django 3.2.1, makemigrations от генерации бесконечных миграций для модели с Meta.ordering, содержащей OrderBy выражения (#32714).
Вернуться на верх