Description
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.
Remediation
References
Related Vulnerabilities
Moodle CVE-2021-36394 Vulnerability (CVE-2021-36394)
WordPress Plugin Duplicator-WordPress Migration Cross-Site Scripting (0.4.4)
Drupal Cross-Site Request Forgery (CSRF) Vulnerability (CVE-2020-13663)
WordPress Plugin Login with Cognito Cross-Site Scripting (1.4.3)
WordPress Plugin Catch Breadcrumb Cross-Site Scripting (1.5.4)