Django 1.11.27发行说明

2019年12月18日

django1.11.27修复了1.11.26中的一个安全问题和一个数据丢失错误。

CVE-2019-19844:通过密码重置表潜在的账户劫持

通过使用Unicode字符提交一个精心编制的电子邮件地址,在比较时,该字符与现有用户电子邮件的大小写比较相等,攻击者可以收到匹配帐户的密码重置令牌。

为了避免此漏洞,密码重置请求现在使用更严格的推荐算法比较提交的电子邮件,该算法用于比较来自 `Unicode Technical Report 36, section 2.11.2(B)(2)`_ _. 匹配后,包含重置令牌的电子邮件将发送到记录的电子邮件地址,而不是提交的地址。

错误修正

  • 修复了数据丢失的可能性 SplitArrayField . 与一起使用时 ArrayField(BooleanField()) ,第一个之后的所有值 True 值被标记为已检查,而不是保留传递的值 (#31073