openSUSE 安全性更新:dbus-1 (openSUSE-SU-2014:1239-1)

medium Nessus Plugin ID 77890

概要

遠端 openSUSE 主機缺少安全性更新。

說明

DBUS-1 服務和程式庫已更新到上游版本 1.6.24,修正了多個安全性問題和錯誤。

自 dbus 1.6.8 版以來的上游變更

+ 安全性修正

- 在 cmsg 訊息的填補中不接受額外的 fd,這可導致 4 位元組堆積緩衝區滿溢。(CVE-2014-3635、fdo#83622;Simon McVittie)

- 將每條訊息傳遞的最大 Unix 檔案描述符號數目預設從 1024 減少至 16,防止具有預設連線數量上限的 uid 在 Linux 的預設 rlimit 中耗盡系統匯流排的檔案描述符號。具受限程度較高之 fd 限制的發行者或系統管理員,可能希望進一步降低這些限制。此外,在 Linux 上,這可防止再次發生拒絕服務;如果發生這種情況,可致使 dbus-daemon 超出每個 sendmsg() 的 fd 數目上限,並中斷本會收到這些 fd 的處理程序。(CVE-2014-3636、fdo#82820;Alban Crequy)

- 在新的可設定限制 pending_fd_timeout (預設為 150 秒) 過去後,中斷仍具有擱置重新整理 fd 的連線,進而消除建立無法透過設定連線檔案描述符號之循環參照中斷的侵略性連線的可能性。
(CVE-2014-3637、fdo#80559;Alban Crequy)

- 將每個連線的最大擱置回覆數目預設從 8192 減小至 128,進而減輕演算法複雜性拒絕服務攻擊 (CVE-2014-3638、fdo#81053;Alban Crequy)

- 將系統匯流排上的驗證逾時預設從 30 秒減少至 5 秒,透過耗盡所有未經驗證的連線插槽來避免拒絕服務;當耗盡所有未經驗證的連線插槽時,封鎖新連線嘗試,而不是中斷連線。(CVE-2014-3639、fdo#80919;Alban Crequy)

- 在 Linux >= 2.6.37-rc4 上,如果 sendmsg() 因 ETOOMANYREFS 失敗,則以無訊息方式中斷訊息。如此可防止惡意用戶端讓 dbus-daemon 中斷與系統服務連線的攻擊,該攻擊是本機拒絕服務。(fdo#80163、CVE-2014-3532;
Alban Crequy)

- 連續多個訊息包含 fd 時,正確追蹤剩餘 Unix 檔案描述符號。
如此能防止可讓惡意用戶端造成 dbus-daemon 中斷與系統服務連線的另一個攻擊。
(fdo#79694、fdo#80469、CVE-2014-3533;Alejandro Martínez Suárez、Simon McVittie、Alban Crequy)

- Collabora Ltd. 的 Alban Crequy 發現並已修正 dbus-daemon (屬於 D-Bus 的參照實作) 中的拒絕服務瑕疵。此外,在極不常見的環境中,相同的瑕疵可導致不應能夠進行通訊的處理程序之間出現側通道。(CVE-2014-3477、fdo#78979)

- CVE-2013-2168:修正一個 va_list 誤用情形,其可作為某系統服務的拒絕服務使用。
該弱點的報告者為 Alexandru Cornea。(Simon)

+ 其他修正

- 列出可啟用或作用中服務時,若發生記憶體不足,不會洩漏記憶體 (fdo#71526,Radoslaw Pajak)

- 修正迴歸測試中未定義的行為 (fdo#69924、DreamNik)

- 比對規則中的 path_namespace=’/’ 曾存在錯誤,沒有任何相符項目;現在則完全相符。(fdo#70799、Simon McVittie)

- 使 dbus_connection_set_route_peer_messages(x, FALSE) 如記載般運作。之前假定其第二個參數為 TRUE。(fdo#69165、Chengwei Yang)

- 修正不太可能出現之錯誤路徑上的 NULL 指標解除參照 (fdo#69327、Sviatoslav Chagaev)

- 如果 accept4() 失敗並出現 EINVAL,當其可以位於包含較新 glibc 的較舊 Linux 核心上時,嘗試 accept() 而非進入忙碌迴圈。(fdo#69026、Chengwei Yang)

- 如果 socket() 或 socketpair() 失敗,並出現 EINVAL 或 EPROTOTYPE (例如在具有新 glibc 的 Hurd 或舊版 Linux 上),請在沒有 SOCK_CLOEXEC 的情況下嘗試。(fdo#69073;Pino Toscano、Chengwei Yang)

- 修正錯誤程式碼路徑上的檔案描述符號洩漏。
(fdo#69182、Sviatoslav Chagaev)

- 如果無法使用 writev(),則修正編譯 (fdo#69409、Vasiliy Balyasnyy)

- 避免在訊號中斷 waitpid() 時發生無限忙碌迴圈 (fdo#68945、Simon McVittie)

- 正確地逸出包含非 ASCII 字元的位址 (fdo#53499、Chengwei Yang)

- 如果 malloc() 在 _dbus_string_init() 或類似函式中傳回 NULL,不要在稍後釋出字串時,釋出無效的指標 (fdo#65959、Chengwei Yang)

- 如果 malloc() 在 dbus_set_error() 中傳回 NULL,不要 va_end() 從未 va_start()ed 的 va_list (fdo#66300、Chengwei Yang)

- 修正平台上使用嚴格對齊的迴歸測試 (fdo#67279,Colin Walters)

- 避免呼叫函式參數 ‘interface’,因為部分 Windows 標頭擁有該名稱的命名空間污染巨集 (fdo#66493、Ivan Romanov)

- 使 ‘make -j check’ 運作 (fdo#68852、Simon McVittie)

- 如果 .service 檔案的開頭為 key=value,則 dbus-daemon 不會損毀 (fdo#60853,Chengwei Yang)

- 修正在 systemd 連線至匯流排前嘗試啟用 systemd 服務而發生的宣告失敗 (fdo#50199,Chengwei Yang)

- 避免忽略 write() 傳回值的編譯器警告 (Chengwei Yang)

- 再次允許 UTF-8 字串使用下列 Unicode 勘誤表 #9:非字元 U+nFFFE、U+nFFFF、U+FDD0..U+FDEF。(fdo#63072,Simon McVittie)

- 診斷錯誤使用含有負插槽 (亦即配置插槽前) 的 dbus_connection_get_data() 而非傳回垃圾 (fdo#63127,Dan Williams)

- 在啟用協助程式中,針對測試進行編譯時不重設系統匯流排位址,修正了迴歸測試。(fdo#52202,Simon)

- 修正以 Valgrind 3.8 構建,代價為造成部分編譯器上 Valgrind 3.6 的無害警告 (fdo#55932,Arun Raghavan)

- 不洩漏指向 /dev/null 的暫時 fd (fdo#56927,Michel HERMIER)

- 在 Cmake 下建立 session.d、system.d 目錄 (fdo#41319,Ralf Habacker)

- 包含 alloca() 的 alloca.h (若可用),修正了 Solaris 10 上的編譯問題 (fdo#63071,Dagobert Michelsen)

解決方案

更新受影響的 dbus-1 套件。

另請參閱

https://bugzilla.novell.com/show_bug.cgi?id=896453

https://lists.opensuse.org/opensuse-updates/2014-09/msg00049.html

Plugin 詳細資訊

嚴重性: Medium

ID: 77890

檔案名稱: openSUSE-2014-557.nasl

版本: 1.6

類型: local

代理程式: unix

已發布: 2014/9/26

已更新: 2021/1/19

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

風險資訊

VPR

風險因素: Medium

分數: 5.8

CVSS v2

風險因素: Medium

基本分數: 4.4

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

弱點資訊

CPE: p-cpe:/a:novell:opensuse:dbus-1, p-cpe:/a:novell:opensuse:dbus-1-32bit, p-cpe:/a:novell:opensuse:dbus-1-debuginfo, p-cpe:/a:novell:opensuse:dbus-1-debuginfo-32bit, p-cpe:/a:novell:opensuse:dbus-1-debugsource, p-cpe:/a:novell:opensuse:dbus-1-devel, p-cpe:/a:novell:opensuse:dbus-1-devel-32bit, p-cpe:/a:novell:opensuse:dbus-1-x11, p-cpe:/a:novell:opensuse:dbus-1-x11-debuginfo, p-cpe:/a:novell:opensuse:dbus-1-x11-debugsource, p-cpe:/a:novell:opensuse:libdbus-1-3, p-cpe:/a:novell:opensuse:libdbus-1-3-32bit, p-cpe:/a:novell:opensuse:libdbus-1-3-debuginfo, p-cpe:/a:novell:opensuse:libdbus-1-3-debuginfo-32bit, cpe:/o:novell:opensuse:12.3

必要的 KB 項目: Host/local_checks_enabled, Host/SuSE/release, Host/SuSE/rpm-list, Host/cpu

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

參考資訊

CVE: CVE-2013-2168, CVE-2014-3477, CVE-2014-3532, CVE-2014-3533, CVE-2014-3635, CVE-2014-3636, CVE-2014-3637, CVE-2014-3638, CVE-2014-3639