1 poin oleh GN⁺ 4 jam lalu | 1 komentar | Bagikan ke WhatsApp
  • Kerentanan race condition UAF pada subsistem epoll kernel 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 epoll yang sama, yaitu CVE-2026-43074, tetapi melewatkan Bad Epoll
  • Karena epoll adalah 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 58c9b016e128 tanggal 2023-04-08 dan diperbaiki oleh commit a6dc643c6931 tanggal 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 epoll kernel 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
  • epoll tidak memiliki kill-switch
    • Keluarga Copy Fail dapat dinetralisasi dengan me-unload modul rentan
    • epoll adalah 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 kode epoll sepanjang 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 epoll kecil yang sama, ada kemungkinan sistem itu memang menyelidiki area yang sama secara bermakna
    • Alasan pasti mengapa Bad Epoll terlewat tidak diketahui
  • 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 epoll berjalan bersamaan dan saling berbenturan
    • Saat satu jalur membebaskan objek, jalur lain terus menulis ke objek itu sehingga terjadi UAF
  • Eksploit menyusun empat objek epoll menjadi 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

  • epoll tidak bisa dinonaktifkan, sehingga tidak ada mitigasi sederhana
  • Solusinya adalah menerapkan commit upstream a6dc643c6931 atau backport dari distribusi
  • Waktu introduksi dan perbaikan kerentanan
    • Diperkenalkan: [58c9b016e128], 2023-04-08
    • Diperbaiki: [a6dc643c6931], 2026-04-24
  • 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% reliable
    • cos-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 epoll melalui commit 58c9b016e128
  • 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 a6dc643c6931 masuk ke mainline

Nama dan referensi

  • Nama Bad Epoll mengikuti seri “Bad” untuk bug kernel yang memungkinkan root Android
  • Halaman ini adalah versi singkat; analisis root-cause lengkap, dokumen eksploit, dan kode disediakan melalui tautan terpisah

1 komentar

 
GN⁺ 4 jam lalu
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

    • Agak memalukan untuk mengakuinya, tapi jujur saja pikiran pertamaku juga sama
    • Aku penasaran. Aku tidak tahu konteksnya, apa yang dia prediksi dengan benar?
    • Kalau bisa, akan bagus kalau ada yang menjelaskan konteksnya
  • 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

    • Aku membeli ponsel Android pada 2023, dan pembaruan kernel terakhirnya pertengahan 2024. Kalau bug ini berasal dari periode itu, pihak yang menerima patch mungkin justru termasuk langka
  • Ini juga bekerja di Android?

    • Kan tertulis di kalimat kedua
  • 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