Header injection possible in Django
Moderate severity
GitHub Reviewed
Published
Jun 9, 2021
to the GitHub Advisory Database
•
Updated Sep 20, 2024
Package
Affected versions
>= 2.2, < 2.2.22
>= 3.1, < 3.1.10
>= 3.2, < 3.2.2
Patched versions
2.2.22
3.1.10
3.2.2
Description
Published by the National Vulnerability Database
May 6, 2021
Reviewed
May 19, 2021
Published to the GitHub Advisory Database
Jun 9, 2021
Last updated
Sep 20, 2024
In Django 2.2 before 2.2.22, 3.1 before 3.1.10, and 3.2 before 3.2.2 (with Python 3.9.5+), URLValidator does not prohibit newlines and tabs (unless the URLField form field is used). 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.
References