Django 1.5.4 版本发行说明

2013 年 9 月 14 日

这是 Django 1.5.4,是 Django 1.5 系列的第四个版本。它解决了两个安全问题和一个 bug 。

通过密码哈希器实现拒绝服务攻击

在以前的 Django 版本中,没有对密码明文长度施加限制。这允许通过提交虚假但极大的密码进行拒绝服务攻击,耗费服务器资源执行相应散列的计算(随着密码长度的增加,计算越来越昂贵)。

从 1.5.4 版本开始,Django 的身份验证框架对密码设置了 4096 字节的限制,如果提交的密码长度超过限制,身份验证将失败。

django.contrib.auth 的管理员界面中,修正了对 sensitive_post_parameters() 的使用

add_viewuser_change_password 用户管理视图的装饰使用 sensitive_post_parameters() 时没有包括 method_decorator() (因为这些视图是方法),导致装饰器未正确应用。这个使用已经被修复,现在如果不正确使用 sensitive_post_parameters(),将引发异常。

漏洞修复

  • 修复了一个 bug,该 bug 阻止了使用 prefetch_related() 的查询集被多次 pickled 和 unpickled(第二次 pickling 尝试会引发异常)(#21102)。