mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
Fixed CVE-2021-28658 -- Fixed potential directory-traversal via uploaded files.
Thanks Claude Paroz for the initial patch. Thanks Dennis Brinkrolf for the report.
This commit is contained in:
@@ -9,6 +9,7 @@ from .models import FileModel
|
||||
from .tests import UNICODE_FILENAME, UPLOAD_TO
|
||||
from .uploadhandler import (
|
||||
ErroringUploadHandler, QuotaUploadHandler, StopUploadTemporaryFileHandler,
|
||||
TraversalUploadHandler,
|
||||
)
|
||||
|
||||
|
||||
@@ -162,3 +163,11 @@ def file_upload_fd_closing(request, access):
|
||||
if access == 't':
|
||||
request.FILES # Trigger file parsing.
|
||||
return HttpResponse()
|
||||
|
||||
|
||||
def file_upload_traversal_view(request):
|
||||
request.upload_handlers.insert(0, TraversalUploadHandler())
|
||||
request.FILES # Trigger file parsing.
|
||||
return JsonResponse(
|
||||
{'file_name': request.upload_handlers[0].file_name},
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user