Django 1.7.10 版本发行说明

2015 年 8 月 18 日

Django 1.7.10 修复了 1.7.9 中的一个安全问题。

logout() 视图中存在拒绝服务的可能性,因为会话存储被填满。

以前,在匿名访问 django.contrib.auth.views.logout() 视图时可以创建会话(前提是没有像在管理界面中那样使用 login_required() 进行装饰)。这可能允许攻击者通过发送重复的请求轻松创建许多新的会话记录,潜在地填满会话存储或导致其他用户的会话记录被逐出。

SessionMiddleware 已经修改,不再创建空的会话记录,即使 SESSION_SAVE_EVERY_REQUEST 处于活动状态也是如此。

此外,contrib.sessions.backends.base.SessionBase.flush()cache_db.SessionStore.flush() 方法已经修改,以避免创建新的空会话。第三方会话后端的维护者应检查他们的后端是否存在相同的漏洞,如果是的话,应该进行修复。