Django 2.2.2发行说明

2019年6月3日

Django2.2.2修复了2.2.1中的安全问题和几个错误。

CVE-2019-12308:管理字段编辑器XSS

可点击的“当前URL”链接由 AdminURLFieldWidget 显示提供的值,但不将其验证为安全的URL。因此,存储在数据库中的未验证值或作为URL查询参数有效负载提供的值可能导致可单击的javascript链接。

AdminURLFieldWidget 现在使用验证提供的值 URLValidator 在显示可点击链接之前。您可以通过传递 validator_class 克瓦格 AdminURLFieldWidget.__init__() ,例如使用时 formfield_overrides .

CVE-2019-11358补丁捆绑jquery:原型污染

jquery 3.4.0之前的错误处理 jQuery.extend(true, {{}}, ...) 因为 Object.prototype 污染。如果未初始化的源对象包含可枚举的 __proto__ 属性,它可以扩展本机 Object.prototype .

django管理员使用的jquery捆绑版本已进行了修补,以允许 select2 类库使用 jQuery.extend() .

错误修正

  • 修正了Django2.2中停止显示/隐藏切换以处理动态添加的管理内联的回归。 (#30459

  • 修正了Django 2.2中的回归,如果 Meta.ordering 包含表达式 (#30463

  • 修正了Django 2.2.1中的回归,其中 SearchVector 生成带有冗余的SQL Coalesce 调用 (#30488

  • 修正了django 2.2中的一个回归,自动重新加载无法检测 manage.py 使用时的文件 StatReloader (#30479

  • 固定崩溃 ArrayAggStringAgg 具有 ordering 参数用于 Subquery (#30315

  • 修正了django 2.2中的一个回归,它在引发带有自定义签名的异常时导致自动重载崩溃。 (#30516

  • 修正了django 2.2.1中的一个回归,即使用时自动重新加载不必要地多次重新加载翻译文件 StatReloader (#30523