Django 3.2.5 发行说明 — Django 文档

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

Django 3.2.5 发行说明

2021 年 7 月 1 日

Django 3.2.5 修复了严重性为“高”的安全问题和 3.2.4 中的几个错误。 此外,还包含 Transifex 的最新字符串翻译。

CVE-2021-35042:通过未净化的 QuerySet.order_by() 输入潜在的 SQL 注入

传递给 QuerySet.order_by() 的未经处理的用户输入可能会绕过标记为弃用的路径中的预期列引用验证,从而导致潜在的 SQL 注入,即使发出弃用警告也是如此。

作为缓解措施,在弃用期间恢复了严格的列引用验证。 这个回归出现在 3.1 中,作为修复 :ticket:`31426` 的副作用。

由于已删除不推荐使用的路径,因此主分支中不存在该问题。


错误修正

  • 修复了 Django 3.2 中在 prefetch_related() (:ticket:`32812`) 之后导致 QuerySet.values_list(…, named=True) 崩溃的回归。
  • 修复了 Django 3.2 中的一个错误,该错误导致将 BinaryFieldJSONFieldTextField 更改为不可为空 (:ticket :`32503`)。
  • 修复了 Django 3.2 中的回归问题,该回归导致在 MySQL 8.0.13+ 上添加可空 BinaryFieldJSONFieldTextField 并使用默认值 (:票:`32832`)。
  • 修复了 Django 3.2 中的一个错误,即系统检查会在具有无效 app_label (:ticket:`32863`) 的模型上崩溃。