Bad Epoll (CVE-2026-46242)
(github.com/J-jaeyoung)- Kerentanan race condition UAF pada subsistem
epollkernel Linux memungkinkan proses tanpa hak istimewa memperoleh hak akses root bukan hanya di desktop dan server Linux, tetapi juga pada perangkat Android - Kerentanan ini dilaporkan dan dieksploitasi sebagai 0-day oleh Jaeyoung Chung ke Google kernelCTF, dan kernelCTF memberikan hadiah $71,337+ untuk eksploit kernel Linux
- AI Mythos dari Anthropic menemukan bug race condition lain pada kode
epollyang sama, yaitu CVE-2026-43074, tetapi melewatkan Bad Epoll - Karena
epolladalah fungsi inti kernel yang diandalkan sistem operasi, layanan jaringan, dan browser, fitur ini tidak bisa dinonaktifkan, dan tidak ada mitigasi sederhana selain menerapkan patch - Kerentanan diperkenalkan pada commit
58c9b016e128tanggal 2023-04-08 dan diperbaiki oleh commita6dc643c6931tanggal 2026-04-24; distribusi yang menggunakan kernel berbasis v6.4 ke atas tanpa backport perbaikan dapat terdampak
Sifat dan tingkat keparahan Bad Epoll
- Bad Epoll adalah kerentanan use-after-free (UAF) race condition pada subsistem
epollkernel Linux, dengan identifier CVE-2026-46242 - Proses tanpa hak istimewa dapat memperoleh hak akses root, dan dampaknya bisa meluas bukan hanya ke desktop dan server Linux tetapi juga perangkat Android
- Kerentanan ini diajukan sebagai 0-day ke Google kernelCTF, dan dilaporkan serta dieksploitasi oleh Jaeyoung Chung
- kernelCTF memberikan hadiah $71,337+ untuk eksploit kernel Linux
Mengapa ini berbahaya
- Ini adalah bug eskalasi hak akses Linux yang langka karena berpotensi memberi root di Android
- Banyak kerentanan eskalasi hak akses Linux membutuhkan modul yang tidak dimuat Android, sehingga tidak berujung pada root Android
- Dari sekitar 130 kerentanan yang dieksploitasi di Google kernelCTF, hanya sekitar 10 yang merupakan kandidat root Android, dan Bad Epoll adalah salah satunya
- Dapat dipicu bahkan dari dalam renderer sandbox milik Chrome
- Sandbox ini memblokir hampir semua bug kernel lain
- Jika eksploit renderer dirangkai dengan Bad Epoll, dampaknya bisa mencapai eksekusi kode kernel seperti kasus yang pernah ditunjukkan Project Zero dengan
MSG_OOB
epolltidak memiliki kill-switch- Keluarga Copy Fail dapat dinetralisasi dengan me-unload modul rentan
epolladalah fitur inti yang diandalkan sistem operasi, layanan jaringan, dan browser, sehingga tidak bisa dinonaktifkan- Satu-satunya solusi adalah menerapkan patch
- Jendela race hanya sekitar 6 instruksi, sehingga sangat kecil
- Percobaan biasa hampir tidak pernah tepat sasaran
- Eksploit memperlebar jendela race dan menjalankan loop retry yang tidak membuat kernel crash
- Hasilnya, pada target kernelCTF tingkat keandalannya mencapai sekitar 99%
Bug yang dilewatkan Mythos
- Satu commit pada 2023,
58c9b016e128, memperkenalkan dua race condition terpisah ke dalam kodeepollsepanjang sekitar 2.500 baris - Mythos milik Anthropic menemukan salah satunya dan melaporkannya sebagai CVE-2026-43074
- Hasil ini menjadi contoh penting bahwa deteksi bug race condition kernel memang sulit
- Setelah itu, seorang peneliti independen mengajukan eksploit 1-day untuk kerentanan tersebut ke kernelCTF
- Race condition lainnya adalah Bad Epoll, dan Mythos melewatkannya
- Karena Mythos menemukan bug pertama di jalur kode
epollkecil yang sama, ada kemungkinan sistem itu memang menyelidiki area yang sama secara bermakna - Alasan pasti mengapa Bad Epoll terlewat tidak diketahui
- Karena Mythos menemukan bug pertama di jalur kode
- Faktor yang mungkin membuat Bad Epoll sulit dideteksi
- Jendela race hanya sekitar 6 instruksi, sehingga sulit membayangkan interleaving thread yang tepat hanya dari melihat kode rentan
- Setelah perbaikan CVE-2026-43074, UAF pada Bad Epoll biasanya tidak lagi memicu KASAN
- Tanpa sinyal KASAN, Mythos mungkin tidak memiliki keyakinan yang cukup untuk menandainya sebagai bug nyata
- Perbaikannya sendiri juga tidak mudah
- Patch pertama dari maintainer tidak sepenuhnya memperbaiki masalah
- Patch yang benar baru masuk ke mainline dua bulan setelah laporan awal
Alur serangan
- Dua jalur close
epollberjalan bersamaan dan saling berbenturan- Saat satu jalur membebaskan objek, jalur lain terus menulis ke objek itu sehingga terjadi UAF
- Eksploit menyusun empat objek
epollmenjadi dua pasang- Satu pasang memicu race condition
- Pasangan lainnya menjadi objek korban
- Setelah itu, UAF write 8-byte diubah menjadi file object UAF
- Serangan cross-cache dipakai untuk mengendalikan seluruh isi file
- Setelah kontrol diperoleh, pembacaan memori kernel arbitrer didapat melalui
/proc/self/fdinfo - Pada tahap terakhir, alur kontrol di-hijack dan rantai ROP dijalankan untuk mendapatkan root shell
- Materi teknis rinci
Mitigasi dan versi yang terdampak
epolltidak bisa dinonaktifkan, sehingga tidak ada mitigasi sederhana- Solusinya adalah menerapkan commit upstream
a6dc643c6931atau backport dari distribusi - Waktu introduksi dan perbaikan kerentanan
- Diperkenalkan: [
58c9b016e128], 2023-04-08 - Diperbaiki: [
a6dc643c6931], 2026-04-24
- Diperkenalkan: [
- Distribusi Linux yang menggunakan kernel berbasis v6.4 atau lebih baru dan belum menerapkan backport perbaikan dapat terdampak
- Kernel lama berbasis v6.1 tidak terdampak karena kerentanan ini diperkenalkan di v6.4
Target eksploit dan status Android
- Eksploit saat ini ditulis untuk target Google kernelCTF
lts-6.12.67(LTS): 99% reliablecos-121-18867.294.100(COS): 98% reliable
- Eksploit Android masih dalam proses
- Pixel 10, kernel v6.6+: PoC saat ini memicu UAF, dan eksploit root penuh sedang dikerjakan
- Eksploit Android dan writeup akan dipublikasikan setelah selesai
- Pixel 8 dan perangkat lain berbasis v6.1 tidak terdampak karena kerentanan ini diperkenalkan di v6.4
Linimasa
- 2023-04-08: Bug diperkenalkan ke
epollmelalui commit58c9b016e128 - 2026-02-17: Bug dilaporkan ke security@kernel.org
- 2026-02-17: Maintainer mengusulkan prototipe patch, tetapi itu bukan perbaikan yang benar dan diskusi terhenti
- 2026-04-02: Perbaikan untuk CVE-2026-43074 yang ditemukan Mythos masuk ke mainline
- 2026-04-22: Masalah yang tersisa dilaporkan kembali
- 2026-04-24: Commit perbaikan Bad Epoll
a6dc643c6931masuk ke mainline
Nama dan referensi
- Nama Bad Epoll mengikuti seri “Bad” untuk bug kernel yang memungkinkan root Android
- Contoh sebelumnya mencakup Bad Binder, Bad IO_uring, Bad Spin
- Halaman ini adalah versi singkat; analisis root-cause lengkap, dokumen eksploit, dan kode disediakan melalui tautan terpisah
1 komentar
Komentar di Lobste.rs
Fakta bahwa kerentanan ini bisa dijangkau dari sandbox Chrome benar-benar masalah besar, jadi agak mengejutkan bahwa ini dilaporkan lewat kCTF dan hadiahnya hanya $71k
Bryan Cantrill benar lagi
Jangan tertipu oleh repositori yang sekilas tampak kosong. Eksploitnya ditautkan di bagian bawah README
Aku belum mencobanya, dan tidak ada mitigasi. Para penulis juga mengklaim ini memungkinkan rooting Android, jadi melihat ekosistem Android, sepertinya pabrikan perangkatku baru akan memberi patch sekitar sebulan lagi. Selain itu, ini juga bekerja dari sandbox renderer Chrome
Ini juga bekerja di Android?
Ada informasi bagaimana ini ditemukan? Katanya Mythos melewatkannya, jadi aku penasaran apakah ini ditemukan dengan bantuan model bahasa besar lain atau lewat peninjauan manusia
Kalau begitu, aku juga penasaran kenapa bagian ini diperiksa
“Banyak distro Linux mungkin terdampak jika memakai kernel berbasis v6.4 atau lebih baru dan belum mem-backport perbaikannya. Untuk mengetahui apakah commit perbaikan di atas sudah di-backport, periksa pembaruan keamanan kernel distro tersebut. Kernel lama berbasis v6.1 tidak terdampak karena bug ini diperkenalkan di v6.4.”
Sayang sekali. Tadinya aku berharap ini bisa jadi cara bagus untuk rooting ponsel, tapi karena terlalu baru, sepertinya tidak terlalu berguna. Ponselku pakai 5.15