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 Exposure of Sensitive Information to an Unauthorized Actor Vulnerability (CVE-2019-3810)
Moodle Improper Access Control Vulnerability (CVE-2015-2267)
MySQL CVE-2019-2819 Vulnerability (CVE-2019-2819)
Apache HTTP Server Other Vulnerability (CVE-2003-0017)
Oracle Database Server CVE-2009-1997 Vulnerability (CVE-2009-1997)