Linux核心又被發現新的本機權限提升漏洞Bad Epoll,Android也受到影響

Linux 核心 epoll 子系統於 2026 年發現嚴重本機權限提升漏洞 Bad Epoll(CVE-2026-46242),CVSS 評分 7.8。該漏洞由韓國首爾大學 Jaeyoung Chung 發現,利用競態條件導致記憶體釋放後再存取(UAF),使無特權程序獲 root 權限。影響範圍涵蓋 Linux 桌面、伺服器及 Android(核心 6.4+)。因 epoll 無法停用,無緩解措施,僅能套用修補程式。

事件說明

2026 年上半年,資安研究人員在 Linux 核心 epoll 子系統中發現一項嚴重的本機權限提升漏洞(LPE),命名為 Bad Epoll。該漏洞於 5 月底正式以編號 CVE-2026-46242 公佈,CVSS 嚴重度評分為 7.8,屬於高風險漏洞[1]。發現者為韓國首爾大學電腦安全實驗室的資安研究員 Jaeyoung Chung,他向 Google 的漏洞獎勵計畫 kernelCTF 提報此漏洞及其利用方式[1]。6 月底資安社群逐漸注意到此問題,7 月初媒體開始報導[1]。修補程式已於 4 月底併入 Linux 核心主線[1]。

技術分析

Bad Epoll 的核心問題在於 epoll 子系統中存在 競態條件(race-condition),導致記憶體釋放後再存取(Use-After-Free, UAF)[1][2]。具體機制如下:當兩個相互監看的 eventpoll 文件描述符(FD)被並發關閉時,ep_remove() 函數將目標文件的 f_ep 指針置為 NULL,而並發的 __fput() 路徑因快速路徑檢查到 f_ep == NULL 而跳過 eventpoll_release_file(),直接釋放目標文件及相關結構[3]。此時 ep_remove() 仍繼續使用已釋放對象指針進行讀寫,導致對已釋放 eventpoll 結構執行 hlist_del_rcu()(UAF 寫入)及對 file 結構執行 is_file_epoll() 讀取(UAF 讀取)[3]。

攻擊者利用此漏洞可將無特權處理程序提升為具有 root 權限的狀態[1]。Jaeyoung Chung 的攻擊程式碼通過擴展競態窗口並執行重試循環,使漏洞利用成功率達高,且不會導致内核崩潰[5]。攻擊流程包括:利用四組 epoll 對象觸發競態,將 8 字節 UAF 寫入轉換為對文件對象的 UAF,並通過跨緩區攻擊(cross-cache attack)完全控制文件內容,最終通過 /proc/self/fdinfo 獲取任意讀取内核記憶體能力,並劫持控制流執行 ROP 鏈以獲取 root shell[5]。值得注意的是,此漏洞可從 Chrome 渲染器沙盒內觸發,且罕見地能對 Android 系統取得 root 權限[5][7]。

影響範圍

Bad Epoll 影響範圍廣泛,涵蓋 Linux 桌面系統、伺服器及 Android 裝置[1][2]。具體條件為使用 Linux 核心 6.4 版或較新版本,以及修補機制尚未回溯移植(backported)的版本[1]。較舊的 Linux 核心 6.1 版不受影響,因相關問題是在 6.4 版引入[1]。主要 Linux 發行版如 Red Hat、SUSE、Debian、Ubuntu、Amazon 均已公告受影響版本[1]。

在 Android 平臺,若裝置使用 Linux 核心 6.6 以上版本(如 Pixel 10),Bad Epoll 的概念驗證(PoC)程式會觸發 UAF[1]。反之,Pixel 8 及其他採用 Linux 核心 6.1 的裝置不受影響[1]。Jaeyoung Chung 指出,在 Google kernelCTF 的約 130 個可利用漏洞中,僅約 10 個可用於取得 Android root 權限,Bad Epoll 正是其中之一[1][2]。這主要因為攻擊者若利用 Copy Fail 與變種漏洞需搭配特定模組,而 Android 不載入這些模組,故 Bad Epoll 成為少數能突破 Android 限制的漏洞[1]。

防護建議

由於 epoll 是 Linux 核心提供的高效率 I/O 事件通知(I/O Multiplexing)機制,常用於 Nginx、Redis、HAProxy 等網路伺服器,且無法停用,因此 Bad Epoll 沒有簡單的緩解方法[1]。唯一的補救措施是套用修補程式[1]。用戶應檢查 Linux 發行版的核心安全更新,確認是否已將修補機制回溯移植[1]。對於 Android 用戶,需確認裝置核心版本,若為 6.4 以上則需等待廠商推送修補更新[1]。

此外,PoC 程式已公開,攻擊風險極高[5]。系統管理員應立即評估業務受影響情況,並優先升級至安全版本[5]。由於漏洞利用成功率高,任何未修補的系統均處於高風險狀態[5]。

5 步驟修補清單

  • 步驟 1:確認系統 Linux 核心版本,若為 6.4 或較新版本則受影響[1]。
  • 步驟 2:檢查發行版(Red Hat、Ubuntu 等)是否已公告 CVE-2026-46242 相關安全更新[1]。
  • 步驟 3:升級至 Linux Kernel 或安裝廠商提供的回溯移植修補包[5]。
  • 步驟 4:對於 Android 裝置,確認核心版本是否為 6.4 以上,並等待廠商推送安全更新[1]。
  • 步驟 5:驗證修補後版本,確認已合併安全 commit,並監控系統是否有異常行為[5]。

參考資料

  • New "Bad Epoll" 0-Day Vulnerability Allows Root Access on Linux Servers and Android Devices
  • Bad Epoll Technical Details & Exploit
  • CVE-2026-46242: Linux Kernel Use-After-Free Vulnerability
  • New "Bad Epoll" Linux Kernel Flaw Analysis

更多資安新聞