From 2ee757ee502d5663f932dc5c35175c39af4640ce Mon Sep 17 00:00:00 2001 From: Jacob Walls Date: Tue, 31 Mar 2026 15:43:18 -0400 Subject: Fixed #36862 -- Doc'd the need for a proxy when deploying RemoteUserMiddleware under ASGI. We have a flood of nuisance security reports describing ASGI deployments using RemoteUserMiddleware without a fronting proxy, which is not realistic. --- docs/internals/security.txt | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'docs/internals') diff --git a/docs/internals/security.txt b/docs/internals/security.txt index 5214bf0704..2f73a906bc 100644 --- a/docs/internals/security.txt +++ b/docs/internals/security.txt @@ -131,6 +131,12 @@ not been sanitized:: q = MyModel.objects.extra(select={"id": query}) return HttpResponse(q.values()) +Some HTTP headers must also be sanitized by a web server or fronting proxy +before they can be used, such as ``Remote-User`` and ``X-Forwarded-*``. For +instance, under ASGI, it is a deployment misconfiguration (rather than any flaw +in Django) for Django to be the direct HTTP endpoint when +:class:`~django.contrib.auth.middleware.RemoteUserMiddleware` is used. + Request headers and URLs must be under 8K bytes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- cgit v1.3