Notas de lanzamiento de Django 3.0.10

1 de septiembre de 2020

Django 3.0.10 resuelve dos problemas de seguridad y dos errores de pérdida de datos en la versión 3.0.9.

CVE-2020-24583: Permisos incorrectos en directorios de nivel intermedio en Python 3.7+

En Python 3.7+, el modo FILE_UPLOAD_DIRECTORY_PERMISSIONS no se aplicaba a los directorios de nivel intermedio creados en el proceso de subida de archivos y a los directorios de colección estática de nivel intermedio cuando se utilizaba la orden de comando de administración collectstatic.

Debes revisar y corregir manualmente los permisos en los directorios de nivel intermedio existentes.

CVE-2020-24584: Escalada de privilegios en directorios de nivel intermedio del caché del sistema de archivos en Python 3.7+

En Python 3.7+, los directorios de nivel intermedio del caché del sistema de archivos tenían la máscara de grupo y otros del sistema estándar en lugar de 0o077 (sin permisos de grupo ni otros).

Bugfixes

  • Se corrigió una posibilidad de pérdida de datos en el método select_for_update(). Al utilizar campos relacionados que apuntan a un modelo proxy en la argumento of, no se bloqueaba el modelo correspondiente (#31866).

  • Se corrigió una posibilidad de pérdida de datos, siguiendo una regresión en Django 2.0, al copiar instancias de modelos con un valor de campo cacheado (#31863).