Примечания к выпуску 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).