Django 3.0.10 版本发行说明

2020 年 9 月 1 日

Django 3.0.10 修复了 3.0.9 版本中的两个安全问题和两个数据丢失错误。

CVE-2020-24583:Python 3.7+ 上的中间层目录的权限不正确。

在 Python 3.7+ 上,当使用 collectstatic 管理命令时, FILE_UPLOAD_DIRECTORY_PERMISSIONS 模式不能应用于上传文件过程中创建的中间级目录和中间级收集的静态目录。

你应该检查并手动修正现有中间级目录的权限。

CVE-2020-24584:在 Python 3.7+ 上,文件系统缓存的中间级目录的权限升级。

在 Python 3.7+ 上,文件系统缓存的中间级目录有系统的标准 umask,而不是 0o077 (无组或其他权限)。

漏洞修复

  • 修正了 select_for_update() 中数据丢失的可能性。当在 of 参数中使用指向代理模型的相关字段时,对应的模型没有被锁定(#31866)。
  • 修正了 Django 2.0 中的缺陷,当复制带有缓存字段值(#31863)的模型实例时,可能会丢失数据。