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 时崩溃的问题。