Django 3.2.4发行说明

June 2, 2021

Django 3.2.4修复了3.2.3中的两个安全问题和几个错误。

CVE-2021-33203:潜在的目录遍历通过 admindocs

工作人员可以使用 admindocs TemplateDetailView 查看以检查是否存在任意文件。此外,如果(并且仅当)开发人员已经定制了默认的admindocs模板以公开文件内容,那么不仅存在而且文件内容也会被暴露。

作为缓解措施,现在应用了路径清理,并且只能加载模板根目录中的文件。

CVE-2021-33571:由于验证器接受IPV4地址中的前导零,因此可能存在不确定的SSRF、RFI和LFI攻击

URLValidatorvalidate_ipv4_address() ,以及 validate_ipv46_address() 不禁止八进制文字中的前导零。如果您使用这样的值,您可能会遭受不确定的SSRF、RFI和LFI攻击。

validate_ipv4_address()validate_ipv46_address() 在Python3.9.5+上,验证器不受影响。

补补

  • 修复了Django 3.2中的一个错误,在该错误中,管理员中的最终捕获视图不尊重服务器提供的 SCRIPT_NAME 将未经身份验证的用户重定向到登录页面时 (#32754 )。

  • 修复了Django 3.2中的错误,在该错误中,系统检查将在抽象模型上崩溃 (#32733 )。

  • 防止了Django 3.2中的回归后对未使用的缓存进行不必要的初始化 (#32747 )。

  • 修复了Django 3.2中运行时可能发生的崩溃 mod_wsgi 使用推荐的设置,而Windows colorama 已安装库 (#32740 )。

  • 修复了Django 3.2中的一个错误,当使用字符串指定目录路径时,该错误会触发模板更改的自动重载程序 (#32744 )。

  • 修复了Django 3.2中导致自动重新加载程序崩溃的回归问题 AttributeError ,例如在一个 Conda 环境 (#32783 )。

  • 修复了Django 3.2中的一个回归,该回归导致以下操作的精度损失 DecimalField 在MySQL上 (#32793 )。