FreeBSD:django -- 多個弱點 (1b769b72-582b-11e2-b66b-00e0814cab4e)

high Nessus Plugin ID 63396

概要

遠端 FreeBSD 主機缺少一個或多個安全性相關更新。

說明

Django 專案報告:

- 主機標頭破壞

數個較舊 Django 安全性版本均著重於解決毒害 HTTP 主機標頭的問題,該問題會造成 Django 產生指向任意潛在惡意網域的 URL。

為因應進一步收到的輸入,以及針對前版發行後導致的後續問題報告,我們將採取額外步驟加強主機標頭驗證。Django 的主機標頭驗證在這裡不會嘗試納入 HTTP 支援的所有功能,而是嘗試支援更小型但更常見的子集:

- 主機名稱必須包含 [A-Za-z0-9] 字元加上連字號 (「-」) 或點 (「.」)。

- 允許使用 IP 位址 (IPv4 和 IPv6 兩者皆可)。

- 若指定連接埠,其應為數值。

此情況產生的任何偏差現都將遭到拒絕,並引發例外狀況 django.core.exceptions.SuspiciousOperation。

- 重新導向破壞

另外,以下是先前問題的後續說明:今年 7 月,我們對 Django 的 HTTP 重新導向類別進行了變更,將針對重新導向的目標 URL 的配置執行額外驗證 (因為無論是 Django 自己提供的應用程式或許多第三方應用程式,接受使用者提供的重新導向目標都是常見模式)。

自此之後,程式碼的兩個獨立稽核便出現進一步的潛在問題。因此,類似於主機標頭問題,我們將採取措施來提供更嚴密的驗證,以因應所報告的問題 (主要是第三方應用程式,但在某些情況下也包括 Django 本身的應用程式)。區分為以下兩方面:

- 新增全新公用程式函式 django.utils.http.is_safe_url;
此函式會使用 URL 和主機名稱,並檢查 URL 與提供的主機名稱是相對或絕對相符。此函式的預定使用時機為每次接受使用者提供的重新導向目標時,以確保此類重新導向不會導向任意第三方網站。

- 所有 Django 自己內建的檢視 (主要位於驗證系統,其允許使用者提供的重新導向目標) 現在會使用 is_safe_url 驗證所提供的 URL。

解決方案

更新受影響的套件。

另請參閱

https://www.djangoproject.com/weblog/2012/dec/10/security/

http://www.nessus.org/u?d9cdcda5

Plugin 詳細資訊

嚴重性: High

ID: 63396

檔案名稱: freebsd_pkg_1b769b72582b11e2b66b00e0814cab4e.nasl

版本: 1.5

類型: local

已發布: 2013/1/7

已更新: 2021/1/6

支援的感應器: Nessus

弱點資訊

CPE: p-cpe:/a:freebsd:freebsd:django, p-cpe:/a:freebsd:freebsd:django13, cpe:/o:freebsd:freebsd

必要的 KB 項目: Host/local_checks_enabled, Host/FreeBSD/release, Host/FreeBSD/pkg_info

修補程式發佈日期: 2013/1/6

弱點發布日期: 2012/12/10