Django 1.8 beta 2/1.7.6 發布,安全更新!
Django是一個開放源代碼的Web應用框架,由Python寫成。采用了MVC的軟件設計模式,即模型M,視圖V和控制器C。它最初是被開發來用于管 理勞倫斯出版集團旗下的一些以新聞內容為主的網站的,即是CMS(內容管理系統)軟件。并于2005年7月在BSD許可證下發布。是PythonWeb開 發框架開發學習的首選。
Django 1.8 beta 2/1.7.6 發布,此版本解決了 Django admin 的一個安全問題。建議所有用戶盡快升級!此版本現已提供在 PyPI,下載:
-
Django 1.8 beta 2 (download Django 1.8b2 | 1.8b2 checksums)
-
Django 1.7.6 (download Django 1.7.6 | 1.7.6 checksums)
通常遇到這種安全更新,我們會事先通知某些關鍵的組織,但是這個公共披露的漏洞迫使他們盡快發布一個新版本,省略了往常的步驟。
問題:通過 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 框架的核心組件有:
-
用于創建模型的對象關系映射
-
為最終用戶設計的完美管理界面
-
一流的 URL 設計
-
設計者友好的模板語言
-
緩存系統