Django 3.2.4 发行说明 — Django 文档

来自菜鸟教程
Django/docs/3.2.x/releases/3.2.4
跳转至:导航、​搜索

Django 3.2.4 发行说明

2021 年 6 月 2 日

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() 验证器在 Python 3.9.5+ 上不受影响。


错误修正

  • 修复了 Django 3.2 中的一个错误,即当将未经身份验证的用户重定向到登录页面 (:ticket:`32754` )。
  • 修复了 Django 3.2 中的一个错误,即系统检查会在抽象模型上崩溃 (:ticket:`32733`)。
  • 防止在 Django 3.2 (:ticket:`32747`) 回归后对未使用的缓存进行不必要的初始化。
  • 修复了在安装了 Windows colorama 库时使用推荐设置运行 mod_wsgi 时可能发生的 Django 3.2 崩溃(:ticket:`32740`)。
  • 修复了 Django 3.2 中的一个错误,该错误会在使用字符串指定目录路径 (:ticket:`32744`) 时触发模板更改的自动重新加载器。
  • 修复了 Django 3.2 中导致自动重载器与 AttributeError 崩溃的回归,例如 在 Conda 环境中 (:ticket:`32783`)。
  • 修复了 Django 3.2 中的回归,该回归导致在 MySQL (:ticket:`32793`) 上使用 DecimalField 的操作精度损失。