2019年07月20日,Linux正式修正了一個本地核心提權漏洞。透過此漏洞,攻擊者可將普通權限使用者提升為Root權限。
漏洞描述
當呼叫PTRACE_TRACEME時,ptrace_link函數將獲得對父進程憑證的RCU引用,然後將該指標指向get_cred函數。但是,物件struct cred的生存週期規則不允許無條件地將RCU引用轉換為穩定引用。
PTRACE_TRACEME取得父行程的憑證,使其能夠像父行程一樣執行父行程能夠執行的各種操作。如果惡意低權限子進程使用PTRACE_TRACEME且該子進程的父進程具有高權限,則該子進程可取得其父進程的控制權並且使用其父進程的權限呼叫execve函數建立一個新的高權限進程。
漏洞復現
網路上已有針對該漏洞的高可利用性的exploit,利用效果如下圖:
影響範圍
目前受影響的Linux核心版本:
Linux Kernel
#修復建議
1、修補程式修復連結:
2、升級Linux核心至最新版。
參考連結
https://github.com/torvalds/linux/commit/6994eefb0053799d2e07cd140df6c2ea106c41ee
以上是linux本地核心提權漏洞介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!