Debian DLA-65-1:python-django 安全性更新

medium Nessus Plugin ID 82210

概要

遠端 Debian 主機缺少一個安全性更新。

說明

此更新解決了一個會產生外部 URL 的 reverse() 問題;
一個涉及檔案上傳的拒絕服務;遠端使用者中介軟體中的一個潛在工作階段劫持問題,以及系統管理介面中的一個資料洩漏問題。

http://www.freexian.com/services/debian-lts.html

CVE-2014-0480

Django 納入 helper 函式 django.core.urlresolvers.reverse,其一般用於從參照產生 URL,並檢視函式或 URL 模式名稱。不過,如果輸入值的開頭是兩條正斜線字元 (//),reverse() 會產生配置相關的 URL 連結至其他主機,其允許知道如何不安全使用 reverse() 的攻擊者 (常見的情況是,使用者可以控制重新導向的目標),自由選擇所要產生的網站連結,從而發動網路釣魚及其他攻擊。

為解決此問題,URL 回復現可確保所有 URL 的開頭都不會使用兩條斜線 (//),並以其 URL 的編碼字元 (%2F) 取代第二條斜線。此方式可確保語意不變,同時可讓 URL 相對於網域而非配置。

CVE-2014-0481

在預設組態中,若 Django 的檔案上傳處理系統存在與現有檔案使用的磁碟路徑和名稱相同的檔案,則會嘗試在檔案名稱結尾處附加底線和一個整數 (就像在磁碟中儲存項目時一樣),並遞增該整數 (例如:_1、_2 以此類推),直到不與任何現有的檔案相衝突,如此即可產生新的唯一檔案名稱。

知道這點的攻擊者可惡意利用檔案名稱產生的循序特性,上傳多個共用檔名的小檔案;Django 在為嘗試產生唯一的檔案名稱而處理此情況時,便會產生數量不斷增加的 os.stat() 呼叫。因此,即使上傳項目的數量不多,效能也可能會大幅降低。

為解決此問題,Django 的檔案上傳系統不會再以循序整數名稱做為避免磁碟中檔名衝突的方式,而是改為附加隨機英數字元短字串,避免產生多個重複衝突的檔名。

CVE-2014-0482

Django 提供一個中介軟體 django.contrib.auth.middleware.RemoteUserMiddleware 和一個驗證後端 django.contrib.auth.backends.RemoteUserBackend,其使用 REMOTE_USER 標頭做為驗證用途。

在某些情況下,如果 REMOTE_USER 標頭變更時沒有對應的登出/登入動作,使用此中介軟體和後端會導致某使用者接受其他使用者的工作階段。

為解決此問題,中介軟體現可確保在沒有明確的登出動作時,若有 REMOTE_USER 變更,系統會先強制登出再進行後續登入,然後接受新的 REMOTE_USER。

CVE-2014-0483

Django 的系統管理介面 django.contrib.admin 提供一個可在快顯視窗中,顯示相關物件以供選取的功能。此機制依賴在指定相關待顯示模型的 URL 和查詢字串中,以及透過其實作關係的欄位中放置數個值。此機制會就模型類型層級執行整體權限檢查。

但此機制不會驗證指定的欄位是否確實代表模型之間的關係。
因此,若使用者具有系統管理介面存取權,且對模型結構和適用 URL 有充分瞭解,即可建構能顯示非關係欄位值的快顯檢視,包括應用程式開發人員未預定以此方式揭露的欄位。

為解決此問題,系統管理介面現在除了進行一般權限檢查,還會驗證指定欄位是否確實表示與管理介面中註冊之模型的關係,若有任一條件不符合則提出例外狀況。

注意:Tenable Network Security 已直接從 DLA 安全性公告擷取前置描述區塊。Tenable 已盡量在不造成其他問題的前提下,嘗試自動清理並將其格式化。

解決方案

升級受影響的 python-django 和 python-django-doc 套件。

另請參閱

https://lists.debian.org/debian-lts-announce/2014/09/msg00022.html

https://packages.debian.org/source/squeeze-lts/python-django

Plugin 詳細資訊

嚴重性: Medium

ID: 82210

檔案名稱: debian_DLA-65.nasl

版本: 1.10

類型: local

代理程式: unix

已發布: 2015/3/26

已更新: 2021/1/11

支援的感應器: Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Nessus

風險資訊

VPR

風險因素: Medium

分數: 6.0

CVSS v2

風險因素: Medium

基本分數: 6

時間分數: 4.4

媒介: CVSS2#AV:N/AC:M/Au:S/C:P/I:P/A:P

弱點資訊

CPE: p-cpe:/a:debian:debian_linux:python-django, p-cpe:/a:debian:debian_linux:python-django-doc, cpe:/o:debian:debian_linux:6.0

必要的 KB 項目: Host/local_checks_enabled, Host/Debian/release, Host/Debian/dpkg-l

可輕鬆利用: No known exploits are available

修補程式發佈日期: 2014/9/29

弱點發布日期: 2014/8/26

參考資訊

CVE: CVE-2014-0480, CVE-2014-0481, CVE-2014-0482, CVE-2014-0483

BID: 69423, 69425, 69429, 69430