又一個(gè)古老的Linux內(nèi)核漏洞被曝光!這次的漏洞可以追溯到2009年,影響的linux發(fā)行版包括Red Hat、Debian、Fedora、OpenSUSE和Ubuntu。
這個(gè)Linux漏洞編號(hào)為CVE-2017-2636,根據(jù)CVSS v3標(biāo)準(zhǔn)漏洞評(píng)分為7.8分。漏洞在Linux內(nèi)核已經(jīng)存在7年了,它能夠讓本地?zé)o權(quán)限的用戶獲取root權(quán)限,或者發(fā)動(dòng)DoS讓系統(tǒng)崩潰。
Positive Technologies的研究員Alexander Popov發(fā)現(xiàn)了存在于N_HLDC linux內(nèi)核驅(qū)動(dòng)的競(jìng)爭(zhēng)條件問(wèn)題。這個(gè)內(nèi)核驅(qū)動(dòng)負(fù)責(zé)處理高級(jí)數(shù)據(jù)鏈路控制(High-Level Data Link Control或簡(jiǎn)稱HDLC)數(shù)據(jù)。問(wèn)題導(dǎo)致了double-free漏洞。
Double Free其實(shí)就是同一個(gè)指針free兩次。雖然一般把它叫做double free,其實(shí)只要是free一個(gè)指向堆內(nèi)存的指針都有可能產(chǎn)生可以利用的漏洞。
“這是CVE-2017-2636的聲明,該漏洞即N_HLDC (drivers/tty/n_hdlc.c) linux內(nèi)核驅(qū)動(dòng)中的競(jìng)爭(zhēng)條件。這個(gè)漏洞可以用來(lái)進(jìn)行本地提權(quán)?!盨ecList的安全公告提到?!霸擈?qū)動(dòng)提供HDLC串行線路規(guī)程,這是很多l(xiāng)inux發(fā)行版中的內(nèi)核模塊——只要是內(nèi)核設(shè)置中有CONFIG_N_HDLC=m的linux發(fā)行版。要利用這個(gè)漏洞不需要Microgate或者SyncLink硬件。當(dāng)沒(méi)有權(quán)限的用戶打開(kāi)偽終端并且調(diào)用TIOCSETD ioctl函數(shù)設(shè)置HDLC串行線路規(guī)程的時(shí)候,模塊就會(huì)自動(dòng)加載?!?/p>
因此未經(jīng)授權(quán)的攻擊者可以利用這個(gè)漏洞注入執(zhí)行任意代碼。
影響范圍
這個(gè)漏洞影響的范圍涵蓋大多數(shù)主流的Linux發(fā)行版,包括Red Hat Enterprise Linux 6, 7, Fedora, SUSE, Debian和Ubuntu。
由于漏洞可以追溯至2009年7月,那些Linux設(shè)備存在漏洞長(zhǎng)達(dá)7年了,但是根據(jù)Positive Technologies的調(diào)查,很難確定漏洞是否已經(jīng)被利用過(guò)。
“漏洞非常老,所以在Linux工作站和服務(wù)器中傳播廣泛?!盤(pán)opov說(shuō)道,“要想利用漏洞,攻擊者只需要沒(méi)有權(quán)限的普通用戶就行了。另外,攻擊不需要任何特殊的硬件?!?/p>
研究人員在用syzkaller fuzzer進(jìn)行系統(tǒng)調(diào)用測(cè)試的時(shí)候發(fā)現(xiàn)了這個(gè)漏洞。syzkaller fuzzer是由Google開(kāi)發(fā)的代碼安全審計(jì)軟件。
Popov于是在2017年2月28日將漏洞細(xì)節(jié)、exp原型和補(bǔ)丁上報(bào)給了kernel.org。Popov稱會(huì)在之后公布PoC。
修復(fù)建議
該漏洞目前已經(jīng)修復(fù),更新和漏洞詳情均在3月7日公布。建議用戶盡快下載安全更新。如果暫時(shí)無(wú)法安裝更新,建議手動(dòng)關(guān)閉n_hdlc模塊。
轉(zhuǎn)載來(lái)源:Reebuf
原文地址:http://www.freebuf.com/articles/system/129608.html