Django 1.8 beta 2/1.7.6 发布,安全更新!

jopen 7年前

Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的软件设计模式,即模型M,视图V和控制器C。它最初是被开发来用于管 理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。是PythonWeb开 发框架开发学习的首选。

Django 1.8 beta 2/1.7.6 发布,此版本解决了 Django admin 的一个安全问题。建议所有用户尽快升级!此版本现已提供在 PyPI,下载:

通常遇到这种安全更新,我们会事先通知某些关键的组织,但是这个公共披露的漏洞迫使他们尽快发布一个新版本,省略了往常的步骤。

问题:通过 ModelAdmin.readonly_fields 的属性进行 XSS 攻击,此问题被认证为:CVE-2015-2241。

Advisory:当从 Python 代码中调用模板过滤器的时候发生 HTML escaping。此问题是因为用户使用  linebreaksbr 函数导致,django.template.defaultfilters 有同样行为的函数如下:

  • join

  • linebreaksbr

  • linebreaks_filter

  • linenumbers

  • unordered_list

  • urlize

  • urlizetrunc

1.8b2 之前的版本使用 autoescape=None 作为默认的参数,直接从 Python 代码调用函数,输入是标记安全的,但是实际上会出现问题,可以创建一个 XSS attack vector。

Django 1.8b2 及其以上的版本都把这个选项默认为 True。此次 1.8 版本的更新可能会给一些用户带来兼容问题,但是最重要的是系统安全。此问题只会影响从 Python 代码直接调用模板过滤器的用户。

受影响的版本:

  • Django master 开发分支 (currently at pre-alpha status)

  • Django 1.8 (currently at beta status)

  • Django 1.7

解决方案:

更多内容请看发行说明

Django 1.8 beta 2/1.7.6 发布,安全更新!

Django 框架的核心组件有:

  • 用于创建模型的对象关系映射

  • 为最终用户设计的完美管理界面

  • 一流的 URL 设计

  • 设计者友好的模板语言

  • 缓存系统

来自:http://www.oschina.net/news/60363/django-1-8-beta2-and-1-7-6