Django团队在2012年的10月17日,发布了Django 1.3.4和1.4.2两个安全修复版本,修复了之前版本中包含的一些严重安全漏洞,建议所用Django用户立即升级。
他们修复的问题是:
1. Host header 解析漏洞
在Django 1.3和1.4中,特别是django.http.HttpRequest.get_host()中,用户名/密码信息被错误地处理,导致一些Django部件(特别是密码重设机制)向用户生成并显示任意的URL。
新版本中修改了HttpRequest.get_host()中的解析功能,如果Host头中包含潜在危险的内容(如成对的用户名/密码)时,将抛出异常。
2. HttpOnly cookie文档问题
Django 1.4中,会话cookies会和HttpOnly标志一起被发送,可以拒绝客户端脚本访问session cookie,这样可以防止一些XSS攻击。
但是在1.4文档中却错误地描述了这些内容,它声称默认通过HttpResponse.set_cookie()方法设置所有cookies。而实际上,只有session cookie被设置。
目前Django文档已经更新。
https://www.djangoproject.com/weblog/2012/oct/17/security/