Notas de lanzamiento de Django 2.2.3

1 de julio de 2019

Django 2.2.3 resuelve un problema de seguridad y varios errores en la versión 2.2.2. Además, se incorporan las últimas traducciones de cadenas de Transifex.

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.

Bugfixes

  • Se corrigió una regresión en Django 2.2 donde Avg, StdDev y Variance se caen con el argumento filter (#30542).

  • Se corrigió una regresión en Django 2.2.2 donde el reloj automático se cae con un AttributeError, por ejemplo, cuando se utiliza ipdb (#30588).