1
0
mirror of https://github.com/django/django.git synced 2025-07-14 14:49:12 +00:00
Mariusz Felisiak d9594c4ea5 [2.2.x] Fixed #32713, Fixed CVE-2021-32052 -- Prevented newlines and tabs from being accepted in URLValidator on Python 3.9.5+.
In Python 3.9.5+ urllib.parse() automatically removes ASCII newlines
and tabs from URLs [1, 2]. Unfortunately it created an issue in
the URLValidator. URLValidator uses urllib.urlsplit() and
urllib.urlunsplit() for creating a URL variant with Punycode which no
longer contains newlines and tabs in Python 3.9.5+. As a consequence,
the regular expression matched the URL (without unsafe characters) and
the source value (with unsafe characters) was considered valid.

[1] https://bugs.python.org/issue43882 and
[2] 76cd81d603

Backport of e1e81aa1c4427411e3c68facdd761229ffea6f6f from main.
2021-05-06 08:53:27 +02:00
..
2017-02-03 08:01:45 -05:00
2019-11-26 14:45:15 +01:00
2019-11-26 14:45:15 +01:00
2013-10-10 16:49:20 -04:00
2012-08-31 20:35:50 +02:00
2012-08-31 20:35:50 +02:00
2014-12-19 18:07:52 +01:00
2014-12-19 18:07:52 +01:00
2014-12-19 18:07:52 +01:00
2014-12-19 18:07:52 +01:00
2015-01-02 19:20:18 -05:00
2019-11-26 14:45:15 +01:00
2014-09-02 21:34:29 -04:00
2015-01-27 11:48:04 -05:00
2015-05-01 16:24:39 -04:00
2015-05-20 13:48:06 -04:00
2015-10-03 19:31:45 -04:00
2015-11-04 17:48:49 +01:00
2016-05-02 18:16:36 -04:00
2016-06-04 19:24:51 -04:00
2016-09-01 16:24:46 -04:00
2017-01-04 13:20:01 -05:00
2017-05-06 08:19:41 -04:00
2017-06-01 11:09:51 -04:00
2017-07-01 19:13:35 -04:00
2017-08-01 08:08:18 -04:00
2017-10-05 14:13:32 -04:00
2017-11-01 21:11:38 -04:00
2018-07-02 10:12:20 +02:00
2018-10-01 09:34:57 +02:00
2018-12-03 15:14:58 +01:00
2018-06-28 11:07:37 -04:00
2018-08-31 10:12:51 +02:00
2018-12-03 17:29:46 +01:00