研究人員發現,去年發現的臟牛漏洞(CVE-2016–5195)尚未被完全修復。
臟牛漏洞由競爭條件引發——Linux內核內存子系統在處理COW時存在問題。這個漏洞由Phil Oester發現,它會導致攻擊者在目標系統內提權。
Linux內核的內存子系統在處理寫入時復制(copy-on-write, COW)時產生了競爭條件(race condition)。惡意用戶可利用此漏洞,來獲取高權限,對只讀內存映射進行寫訪問。
競爭條件,指的是任務執行順序異常,可導致應用崩潰,或令攻擊者有機可乘,進一步執行其他代碼。利用這一漏洞,攻擊者可在其目標系統提升權限,甚至可能獲得root權限。
漏洞同樣會影響Android,甚至能夠繞過容器。雖然Google隨后修復了漏洞,但現在仍有利用臟牛漏洞的攻擊。
最近的一款新型病毒發現于今年9月。
原來的漏洞影響的是get_user_pages函數,get_user_pages函數用于獲取用戶進程中虛擬地址的物理頁面。該漏洞能讓攻擊者寫入只讀頁面。
Bindecy發現當遇到透明巨大頁面(THP)和頁面媒體目錄(PMD)時,漏洞仍然會復現。
雖然Linux通常使用4096個字節的長頁面,但是THP頁面可以達到2MB。
研究人員發現,處理THP的臟牛修復代碼中包含一個名為can_follow_write_pmd的函數,該函數基本上將can_follow_write_pte的邏輯應用于PMD。
除此之外,他們還介紹了漏洞的利用場景,發布了PoC。他們上周向內核和相關廠商報告了漏洞(漏洞編號CVE-2017-1000405),目前已有補丁。
“這個漏洞表明補丁審計在安全開發生命周期中的重要性。臟牛其他以往的案例顯示,備受關注的漏洞也有可能會得到不完整的補丁。這種情況不僅存在于封閉軟件,開源軟件同樣受到影響,“研究人員總結說。