Проблема была обнаружена в Django 6.0 до 6.0.7 и 5.2 до 5.2.16.
`DomainNameValidator` не запрещает переводы строк в именах доменов (если только он не используется через поле формы, поскольку `CharField` удаляет символы новой строки). Если приложение использует значения с символами новой строки в ответе HTTP, может произойти внедрение заголовка. Сам Django не затрагивается, поскольку HttpResponse запрещает переводы строк в заголовках HTTP.
Ранее неподдерживаемые серии Django (например, 5.0.x, 4.1.x и 3.2.x) не оценивались и также могут быть затронуты. Джанго хотел бы поблагодарить Бенса Надя за сообщение об этой проблеме.
Показать оригинальное описание (EN)
An issue was discovered in Django 6.0 before 6.0.7 and 5.2 before 5.2.16. `DomainNameValidator` does not prohibit newlines in domain names (unless used via a form field, since `CharField` strips newlines). If an application uses values with newlines in an HTTP response, header injection can occur. Django itself is unaffected because `HttpResponse` prohibits newlines in HTTP headers. Earlier, unsupported Django series (such as 5.0.x, 4.1.x, and 3.2.x) were not evaluated and may also be affected. Django would like to thank Bence Nagy for reporting this issue.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 2
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Djangoproject Django
cpe:2.3:a:djangoproject:django:*:*:*:*:*:*:*:*
|
5.2
|
5.2.16
|
|
Djangoproject Django
cpe:2.3:a:djangoproject:django:*:*:*:*:*:*:*:*
|
6.0
|
6.0.7
|