Django 1.4.22 版本发行说明
2015 年 8 月 18 日
Django 1.4.22 修复了 1.4.21 中的安全问题。
它还通过禁用 wheel 支持来修复与 pip 7+ 的兼容问题。在使用这些版本的 pip 安装时,1.4 的旧版本会悄无声息地构建一个损坏的 wheel 。
在 logout()
视图中存在拒绝服务的可能性,因为会话存储被填满。
以前,在匿名访问 django.contrib.auth.views.logout()
视图时可以创建会话(前提是没有像在管理界面中那样使用 login_required() 进行装饰)。这可能允许攻击者通过发送重复的请求轻松创建许多新的会话记录,潜在地填满会话存储或导致其他用户的会话记录被逐出。
SessionMiddleware 已经修改,不再创建空的会话记录,即使 SESSION_SAVE_EVERY_REQUEST 处于活动状态也是如此。
此外,contrib.sessions.backends.base.SessionBase.flush()
和 cache_db.SessionStore.flush()
方法已经修改,以避免创建新的空会话。第三方会话后端的维护者应检查他们的后端是否存在相同的漏洞,如果是的话,应该进行修复。