Django 2.1.10 notas de lanzamiento

1 de julio de 2019

Django 2.1.10 corrige una cuestión de seguridad en 2.1.9.

CVE-2019-12781: Deteción incorrecta del protocolo HTTP con proxy inverso conectado mediante HTTPS

Cuando se despliega detrás de un proxy inverso que conecta a Django mediante HTTPS, django.http.HttpRequest.scheme detectaría incorrectamente las solicitudes de clientes realizadas mediante HTTP como si fueran HTTPS. Esto conlleva resultados incorrectos para is_secure(), y build_absolute_uri(), y que las solicitudes HTTP no se redirigieran a HTTPS según la configuración de SECURE_SSL_REDIRECT.

HttpRequest.scheme ahora respeta SECURE_PROXY_SSL_HEADER, si está configurado, y el encabezado apropiado está establecido en la solicitud, tanto para solicitudes HTTP como HTTPS.

Si despliegas Django detrás de un proxy inverso que envía solicitudes HTTP y que conecta a Django mediante HTTPS, asegúrate de verificar que tu aplicación maneje correctamente los caminos de código que dependen de scheme, is_secure(), build_absolute_uri(), y SECURE_SSL_REDIRECT.