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()
,则可能会泄露更敏感的详细信息。
这个问题已经得到修复,但需要注意的是,如果身份验证后端拒绝非活动用户(默认身份验证后端“ModelBackend”自 Django 1.10 起就一直是这样),那么 AuthenticationForm
不再会引发“此帐户处于非活动状态。”错误。这个问题将在 Django 2.1 中重新审查,因为解决这个问题的修复措施可能对旧版本来说过于侵入性。