Django 2.2.4 发行说明 — Django 文档
来自菜鸟教程
Django/docs/3.2.x/releases/2.2.4
Django 2.2.4 发行说明
2019 年 8 月 1 日
Django 2.2.4 修复了安全问题和 2.2.3 中的几个错误。
CVE-2019-14232:django.utils.text.Truncator 中的拒绝服务可能性
如果 django.utils.text.Truncator
的 chars()
和 words()
方法通过 html=True
参数,由于在正则表达式。 chars()
和 words()
方法用于实现 :tfilter:`truncatechars_html` 和 :tfilter:`truncatewords_html` 模板过滤器,它们是因而脆弱。
Truncator
使用的正则表达式已经过简化,以避免潜在的回溯问题。 因此,有时会在截断的输出中包含尾随标点符号。
CVE-2019-14234:JSONField/HStoreField 键和索引查找中的 SQL 注入可能性
:lookup:`键和索引查找 ` 为了 JSON 字段和 :lookup:`键查找 ` 为了存储字段受到 SQL 注入,使用适当制作的字典,具有字典扩展,作为**kwargs
传递给QuerySet.filter()
.
CVE-2019-14235:django.utils.encoding.uri_to_iri() 中潜在的内存耗尽
如果传递某些输入,django.utils.encoding.uri_to_iri() 可能会在重新百分比编码无效的 UTF-8 八位字节序列时由于过度递归而导致大量内存使用。
uri_to_iri()
现在可以在对无效的 UTF-8 八位字节序列进行重新百分比编码时避免递归。
错误修正
- 修复了在 Django 2.2 中按字段类型排序
QuerySet.union()
、intersection()
或difference()
时出现的回归问题,导致使用的顺序错误(:票:`30628`)。 - 修复了在 DateRangeField 或 DateTimeRangeField 上添加带有
contains
查找的检查约束时,如果表达式的右侧是相同类型( :票:`30621`)。 - 修复了 Django 2.2 中如果文件路径包含空字符 (
'\x00'
) (:ticket:`30506`) 时自动重新加载器崩溃的回归。 - 修复了 Django 2.2 中的一个回归,如果无法解析翻译目录,自动重新加载器会崩溃 (:ticket:`30647`)。