歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux發行版陷困境,內核缺陷仍存在

Linux發行版陷困境,內核缺陷仍存在

日期:2017/4/19 13:50:24   编辑:關於Linux

  Linux內核已經修復了本地特權esclation缺陷,但是幾個上游分發版本例如Red Hat,Canonical和Debian發行版尚未發布更新。管理員應計劃減輕Linux服務器和工作站本身的漏洞,並監控其更新計劃的發布。

Linux發行版陷困境,內核缺陷仍存在

  在Linux內核4.10.1(CVE-2017-2636)的n_hdlc驅動程序(drivers / tty / n_hdlc.c)中的競爭條件缺陷可能導致在訪問n_hdlc.tbuf時n_hdlc_release()出現雙重錯誤,這是俄羅斯的技術研究員Alexander Popov發現和報告的缺陷。本地無特權用戶能夠在tty設備上設置HDLC線路規則,從而利用此缺陷獲得受影響系統的更多權限或導致拒絕服務條件。

  該漏洞在常見漏洞評分系統(CVSS)3.0下的基本分數為7.8,不需要由任何用戶交互觸發,攻擊復雜性被認為較低,利用這個缺陷不需要在目標系統中攻擊專門的硬件或外設。在CVSS下,該漏洞被視為具有較高嚴重性。

  該補丁已於2月28日發送到Linux內核,並且新版本的內核在3月7日已經發布了,所有版本的Linux內核(直到4.10.1)都被視為有漏洞。

  該漏洞將影響Linux服務器和工作站以及虛擬機,但大多數容器不受影響。開源安全公司Black Duck Software的Patrick Carey說,由於Docker上的ioctl設置,這個問題不會在容器內執行。顯然,如果你有權訪問容器主機,一切只能聽天由命了。

  等待補丁

  紅帽已將此問題評為“高”嚴重性,並承諾在將來的更新中會修復該錯誤。該問題影響Red Hat Enterprise MRG 2附帶的實時內核包,Red Hat Enterprise Linux 7附帶的kernel-rt包以及Red Hat Enterprise Linux 5/6/7中的內核包,它不影響Red Hat Enterprise Linux 5附帶的Linux內核包。

  Canonical也將這個問題評為高嚴重性,因為所有Ubuntu版本都會受到影響,公司已經發布了針對Ubuntu Linux 12.04 LTS,14.04 LTS,Ubuntu 16.04 LTS(Xenial Xerus) 和Ubuntu 16.10(Yakket Yak)的修補程序。Ubuntu Core 15.04和Ubuntu Linux 17.04(Zesty Zapus)的更新仍在等待中。 Canonical已經更新了一些內核包,例如linux-ti-omap4包(用於12.04 LTS)和linux-gke(16.04 LTS),但不計劃更新其他包,例如linux-maguro包(用於14.04 LTS)。修復仍然需要納入一些其他軟件包如對應14.04 LTS的linux-lts-vivid 和17.04的linux-rapi2。管理員應參考Canonical的完整列表以確定其內核和分發狀態。

  用於sparc,s / 390,powerpc,mips,ia-64,ua-32,arm,amd64的各種Debian Linux 6.0軟件包,Debian wheezy 3.2.78-1,jessie 3.16.39-1中的Linux內核, .13-1是比較脆弱的。 最新版本的Debian jessie,3.16.39-1 + deb8u2和wheezy,3.2.86-1已經有固定的內核模塊。

  Linux管理員應該做些什麼呢?

  在更新的內核可用之前,Linux管理員可以通過手動防止內核加載來緩解此漏洞。Then_hdlc內核模塊通常會在應用程序嘗試從用戶空間使用HDLC線路規則時自動加載,但可以使用系統范圍的modprob規則阻止。以root身份運行#echo“install n_hdlc / bin / true”>> /etc/modprobe.d/disable-n_hdlc.conf將防止意外或有意加載模塊。如果n_hdlc模塊已加載,則需要重新啟動系統。紅帽產品安全方面認為,這是一個防止意外加載模塊的可靠方法。

  在內核配置中具有CONFIG_N_HDLC = m的Linux發行版都可能受到影響,因為它使用易受攻擊的驅動程序。Popov在使用無監督的Linux系統調用fuzzing工具syzkaller調查可疑內核崩潰時發現了該錯誤。 該漏洞與以下事實有關:n_hdlc使用自制的單鏈表作為數據緩沖區,並使用n_hdlc.tbuf指針在發生錯誤後重新發送緩沖區。如果數據緩沖區由於某些原因無法發送,則地址將保存在n_hdlc.tbuf中,緩沖區是下一次調用hdlc_send_frames()時首次發送的。flux_tx_queue()和hdlc_send_frames()會將緩沖區放入tx_free_buf_list兩次,導致雙重錯誤。

  該漏洞存在於廣泛使用的開放源代碼組件中,但社區和組織也在積極解決安全問題,廣大Linux用戶更要密切關注Linux內核的修復情況。

Copyright © Linux教程網 All Rights Reserved