mirror of
https://github.com/django/django.git
synced 2024-12-22 09:05:43 +00:00
Refs CVE-2021-23336 -- Updated tests and release notes for affected versions.
This commit is contained in:
parent
96a5093400
commit
0ad9fa02e0
16
docs/releases/2.2.19.txt
Normal file
16
docs/releases/2.2.19.txt
Normal file
@ -0,0 +1,16 @@
|
||||
===========================
|
||||
Django 2.2.19 release notes
|
||||
===========================
|
||||
|
||||
*February 19, 2021*
|
||||
|
||||
Django 2.2.19 fixes a security issue in 2.2.18.
|
||||
|
||||
CVE-2021-23336: Web cache poisoning via ``django.utils.http.limited_parse_qsl()``
|
||||
=================================================================================
|
||||
|
||||
Django contains a copy of :func:`urllib.parse.parse_qsl` which was added to
|
||||
backport some security fixes. A further security fix has been issued recently
|
||||
such that ``parse_qsl()`` no longer allows using ``;`` as a query parameter
|
||||
separator by default. Django now includes this fix. See :bpo:`42967` for
|
||||
further details.
|
16
docs/releases/3.0.13.txt
Normal file
16
docs/releases/3.0.13.txt
Normal file
@ -0,0 +1,16 @@
|
||||
===========================
|
||||
Django 3.0.13 release notes
|
||||
===========================
|
||||
|
||||
*February 19, 2021*
|
||||
|
||||
Django 3.0.13 fixes a security issue in 3.0.12.
|
||||
|
||||
CVE-2021-23336: Web cache poisoning via ``django.utils.http.limited_parse_qsl()``
|
||||
=================================================================================
|
||||
|
||||
Django contains a copy of :func:`urllib.parse.parse_qsl` which was added to
|
||||
backport some security fixes. A further security fix has been issued recently
|
||||
such that ``parse_qsl()`` no longer allows using ``;`` as a query parameter
|
||||
separator by default. Django now includes this fix. See :bpo:`42967` for
|
||||
further details.
|
@ -2,9 +2,18 @@
|
||||
Django 3.1.7 release notes
|
||||
==========================
|
||||
|
||||
*Expected March 1, 2021*
|
||||
*February 19, 2021*
|
||||
|
||||
Django 3.1.7 fixes several bugs in 3.1.6.
|
||||
Django 3.1.7 fixes a security issue and a bug in 3.1.6.
|
||||
|
||||
CVE-2021-23336: Web cache poisoning via ``django.utils.http.limited_parse_qsl()``
|
||||
=================================================================================
|
||||
|
||||
Django contains a copy of :func:`urllib.parse.parse_qsl` which was added to
|
||||
backport some security fixes. A further security fix has been issued recently
|
||||
such that ``parse_qsl()`` no longer allows using ``;`` as a query parameter
|
||||
separator by default. Django now includes this fix. See :bpo:`42967` for
|
||||
further details.
|
||||
|
||||
Bugfixes
|
||||
========
|
||||
|
@ -53,6 +53,7 @@ versions of the documentation contain the release notes for any later releases.
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
3.0.13
|
||||
3.0.12
|
||||
3.0.11
|
||||
3.0.10
|
||||
@ -72,6 +73,7 @@ versions of the documentation contain the release notes for any later releases.
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
2.2.19
|
||||
2.2.18
|
||||
2.2.17
|
||||
2.2.16
|
||||
|
@ -6,7 +6,7 @@ from django.test.client import FakePayload
|
||||
class ExceptionHandlerTests(SimpleTestCase):
|
||||
|
||||
def get_suspicious_environ(self):
|
||||
payload = FakePayload('a=1&a=2;a=3\r\n')
|
||||
payload = FakePayload('a=1&a=2&a=3\r\n')
|
||||
return {
|
||||
'REQUEST_METHOD': 'POST',
|
||||
'CONTENT_TYPE': 'application/x-www-form-urlencoded',
|
||||
|
@ -11,7 +11,7 @@ TOO_MUCH_DATA_MSG = 'Request body exceeded settings.DATA_UPLOAD_MAX_MEMORY_SIZE.
|
||||
|
||||
class DataUploadMaxMemorySizeFormPostTests(SimpleTestCase):
|
||||
def setUp(self):
|
||||
payload = FakePayload('a=1&a=2;a=3\r\n')
|
||||
payload = FakePayload('a=1&a=2&a=3\r\n')
|
||||
self.request = WSGIRequest({
|
||||
'REQUEST_METHOD': 'POST',
|
||||
'CONTENT_TYPE': 'application/x-www-form-urlencoded',
|
||||
@ -117,7 +117,7 @@ class DataUploadMaxNumberOfFieldsGet(SimpleTestCase):
|
||||
request = WSGIRequest({
|
||||
'REQUEST_METHOD': 'GET',
|
||||
'wsgi.input': BytesIO(b''),
|
||||
'QUERY_STRING': 'a=1&a=2;a=3',
|
||||
'QUERY_STRING': 'a=1&a=2&a=3',
|
||||
})
|
||||
request.GET['a']
|
||||
|
||||
@ -126,7 +126,7 @@ class DataUploadMaxNumberOfFieldsGet(SimpleTestCase):
|
||||
request = WSGIRequest({
|
||||
'REQUEST_METHOD': 'GET',
|
||||
'wsgi.input': BytesIO(b''),
|
||||
'QUERY_STRING': 'a=1&a=2;a=3',
|
||||
'QUERY_STRING': 'a=1&a=2&a=3',
|
||||
})
|
||||
request.GET['a']
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user