Linux安全驱动模块,【漏洞预警】CVE-2017-2636:linux 内核n_hdlc驱动模块 本地提权漏洞...
漏洞描述:
漏洞編號:CVE-2017-2636
漏洞發(fā)現(xiàn)者:Alexander Popov
漏洞危害:高危,低權限用戶利用該漏洞可以在Linux系統(tǒng)上實現(xiàn)本地提權。
影響范圍:這個bug最早引入在2009年6月22號。在該日期發(fā)布后的內核版本均可能受該漏洞影響。詳情請參看
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=be10eb7589337e5defbe214dae038a53dd21add8
漏洞簡述:該漏洞是Linux內核驅動 n_hdlc 模塊(drivers/tty/n_hdlc.c)發(fā)生條件競爭導致的,利用該漏洞可以進行權限提升。該驅動模塊提供HDLC串行線路規(guī)則,在大多Linux發(fā)行版的內核配置為CONFIG_N_HDLC = m,n_hdlc被編譯成模塊并啟用。
漏洞細節(jié):
N_HDLC線路規(guī)則使用自制的單鏈表來獲取緩沖區(qū)數(shù)據(jù),當發(fā)生錯誤的時,n_hdlc.tbuf 指針用于重新傳輸緩沖區(qū)數(shù)據(jù)。如果發(fā)送緩沖區(qū)數(shù)據(jù)不成功,它的地址就被保存在 n_hdlc.tbuf 指針中,下次函數(shù)n_hdlc_send_frames()將嘗試首先重新發(fā)送它。
在 commit be10eb7589337e5defbe214dae038a53dd21add8(“tty:n_hdlc 增加了 buffer flushing“)引入了對n_hdlc.tbuf 的競爭訪問。
在傳輸錯誤后并發(fā)執(zhí)行flush_tx_queue()和n_hdlc_send_frames()函數(shù)將由n_hdlc.tbuf指向的緩沖區(qū)放入tx_free_buf_list兩次。因此在n_hdlc_release()中造成可利用的double free 漏洞。
詳細相關代碼請參看:
PoC:
稍后更新
Linux各發(fā)行版本對于該漏洞相關信息:
Red Hat Enterprise Linux/CentOS
Debian
ubuntu
SUSE/openSUSE
修復建議:
建議用戶通過系統(tǒng)更新到最新發(fā)行版修復此漏洞
參考:
總結
以上是生活随笔為你收集整理的Linux安全驱动模块,【漏洞预警】CVE-2017-2636:linux 内核n_hdlc驱动模块 本地提权漏洞...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 你的“不着急”,最后都是“来不及”
- 下一篇: 信号处理与信号产生电路