Django 1.11.10 发行说明 — Django 文档

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

Django 1.11.10 发行说明

2018 年 2 月 1 日

Django 1.11.10 修复了 1.11.9 中的一个安全问题和几个错误。

CVE-2018-6188:AuthenticationForm 中的信息泄露

Django 1.11.8 中的回归使 AuthenticationForm 运行其 confirm_login_allowed() 方法,即使输入了错误的密码。 这可能会泄漏有关用户的信息,具体取决于 confirm_login_allowed() 引发的消息。 如果 confirm_login_allowed() 未被覆盖,攻击者输入任意用户名并查看该用户是否已设置为 is_active=False。 如果 confirm_login_allowed() 被覆盖,可能会泄露更多敏感细节。

此问题已修复,但需要注意的是 AuthenticationForm 无法再引发“此帐户处于非活动状态”。 如果身份验证后端拒绝非活动用户,则会出错(默认身份验证后端 ModelBackend 自 Django 1.10 起已完成此操作)。 这个问题将在 Django 2.1 中重新讨论,作为解决警告的修复程序,它可能过于侵入性,无法包含在旧版本中。


错误修正

  • 如果模型有两个指向同一模型的外键并且目标模型被删除,则修复了不正确的外键无效(:ticket:`29016`)。
  • 修复了在身份验证后端不接受 request 而后一个接受时 contrib.auth.authenticate() 崩溃的回归 (:ticket:`29071`)。
  • 修复了在 ModelAdmin.raw_id_fields (:ticket:`29094`) 中输入无效 uuid 时崩溃的问题。