Django 3.2.5发行说明

July 1, 2021

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

CVE-2021-35042:未经清理的潜在SQL注入 QuerySet.order_by() 输入

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

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

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

补补

  • Fixed a regression in Django 3.2 that caused a crash of QuerySet.values_list(…, named=True) after prefetch_related() (#32812).

  • 修复了Django 3.2中的一个错误,该错误导致在MySQL 8.0.13+上更改 BinaryFieldJSONField ,或 TextField 设置为不可为空 (#32503 )。

  • 修复了Django 3.2中在添加nullable时导致MySQL 8.0.13+上迁移崩溃的回归 BinaryFieldJSONField ,或 TextField 使用缺省值 (#32832 )。

  • Fixed a bug in Django 3.2 where a system check would crash on a model with an invalid app_label (#32863).