mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Refs CVE-2021-23336 -- Updated tests and release notes for affected versions.
This commit is contained in:
		
				
					committed by
					
						 Carlton Gibson
						Carlton Gibson
					
				
			
			
				
	
			
			
			
						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'] | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user