您好,登錄后才能下訂單哦!
本篇文章為大家展示了如何進行Linux PIE/stack 內存破壞漏洞CVE-2017-1000253分析,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
0x00 事件描述
2015年4月14日,Michael Davidson發現 PIE(Position Independent Executable)機制允許將一部分應用程序的數據段放置在超過預留的內存區域,可能會造成內存越界,進而導致提權,并在Linux Source Tree上提交了補丁a87938b2e246b81b4fb713edb371a9fa3c5c3c86。
同年5月, Linux 3.10.77版本更新了該補丁,但是并沒有對該問題的重要性作出準確的評估,故許多發行版很長一段時間里沒有更新該補丁,導致漏洞一直存在。
2017年9月26日,OSS-SEC郵件組中發布了與該漏洞相關的信息,并表示該漏洞編號為CVE-2017-1000253。同時,相關受影響的Linux發行版也發布了該漏洞相關的更新補丁。
經過360CERT評估,該漏洞可利用風險等級高,可用于Linux操作系統惡意本地提權root,建議受影響用戶盡快完成相應更新。
0x01 事件影響面
影響等級
漏洞風險等級高,影響范圍廣。
影響版本
- 2017年09月13日前發行的 CentOS 7 全版本(版本1708前)
- 2017年08月01日前發行的 Red Hat Enterprise Linux 7 全版本(版本7.4前)
- 所有版本的CentOS 6 和 Red Hat Enterprise Linux 6
修復版本
Kernel 3.10.0-693 以及之后的版本
具體的發行版:
- Debian wheezy 3.2.71-1
- Debian jessie 3.16.7-ckt11-1
- Debian (unstable) 4.0.2-1
- SUSE Linux Enterprise Desktop 12 SP2
- SUSE Linux Enterprise Desktop 12 SP3
- SUSE Linux Enterprise Server 12 GA
- SUSE Linux Enterprise Server 12 SP1
- SUSE Linux Enterprise Server 12 SP2
- SUSE Linux Enterprise Server 12 SP3
- Red Hat Enterprise MRG 2 3.10.0-693.2.1.rt56.585.el6rt
- Red Hat Enteprise Linux for Realtime 3.10.0-693.rt56.617
0x02 漏洞信息
Linux環境下,如果應用程序編譯時有“-pie”編譯選項,則load_elf_binary()將會為其分配一段內存空間,但是load_elf_ binary()并不考慮為整個應用程序分配足夠的空間,導致PT_LOAD段超過了mm->mmap_base。在x86_64下,如果越界超過128MB,則會覆蓋到程序的棧,進而可能導致權限提升。
官方提供的內存越界的結果圖:
官方補丁提供的方法是計算并提供應用程序所需要的空間大小,來防止內存越界。
0x03 修復方案
強烈建議所有受影響用戶,及時進行安全更新,可選方式如下:
1. 相關Linux發行版已經提供了安全更新,請通過 yum 或 apt-get 的形式進行安全更新。
2. 自定義內核的用戶,請自行下載對應源碼補丁進行安全更新。
補丁地址:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a87938b2e246b81b4fb713edb371a9fa3c5c3c86
上述內容就是如何進行Linux PIE/stack 內存破壞漏洞CVE-2017-1000253分析,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。