exploit paylaşım grubumuz: t.me/HTTPwnn

CVE-2026-46242

  • Konu başlatıcı Konu başlatıcı sh3d0w
  • Başlangıç Tarihi Başlangıç Tarihi

sh3d0w

WarNight Member
Katılım
25 Haz 2026
Mesaj
65
Reaksiyon
39
Puan
18
xentr_thread_starter
CVE-2026-46242, "Bad Epoll" olarak adlandırılan, Linux çekirdeğinin eventpoll (epoll) alt sisteminde bulunan kritik bir Use-After-Free (UAF) güvenlik açığıdır. Yerel bir saldırganın sistemi tamamen ele geçirerek root yetkisi elde etmesine olanak tanır. CVSS v3.1 puanı 7.8 ile "Yüksek" şiddet seviyesinde değerlendirilmektedir canlar.

1. Saldırı Mekanizması​

Açık, ep_remove() fonksiyonundaki bir yarış durumundan (race condition) kaynaklanır. İki çekirdek yolu aynı nesneyi temizlemeye çalıştığında çarpışma meydana gelir.
Yani ilk red flag.

2. Bellek Katmanlarındaki Hata​

Açığın temelinde üç seviyeli bir bellek yönetimi sorunu yatamakatadır:

a) ep_remove() Hatalı Temizleme:

ep_remove() fonksiyonu, bir dosyayı temizlerken file f_ep işaretçisini file f_lock kilidi altında NULL olarak ayarlar. Ancak bu işaretçiyi temizledikten sonra aynı @file yapısını kritik bölüm içinde kullanmaya devam eder (is_file_epoll(), hlist_del_rcu() işlemleri ve spin_unlock() çağrısı sırasında).

b) __fput() Yarışı:

Bu kritik pencerede eşzamanlı çalışan bir __fput() işlemi, f_ep işaretçisindeki geçici NULL değerini görür. Bunun sonucunda:

  • eventpoll_release() hızlı yoluna girer
  • eventpoll_release_file() temizleme işlemini atlar
  • Doğrudan f_op release file_free() çağrısına gider
c) Sonuç - UAF ve Bellek Yazımı:

Bu yarış sonucunda izlenen struct eventpoll nesnesi kfree() ile serbest bırakılır. Ancak kritik nokta:
  • Serbest bırakılan struct eventpoll içindeki gömülü ->refs hlist_head, epi->fllink.pprev işaretçisinin tam olarak işaret ettiği adrestir.
  • Bunun sonucunda hlist_del_rcu() işleminin *pprev = next yazma işlemi, zaten serbest bırakılmış kmalloc-192 bellek bölgesine yazar.

3. SLAB_TYPESAFE_BY_RCU ve Çapraz-Cache Saldırısı​

Burada devreye giren ikinci önemli bellek yönetim mekanizması struct file nesnelerinin SLAB_TYPESAFE_BY_RCU işaretiyle ayrılmasıdır. Bu işaret, bir nesne serbest bırakıldıktan sonra aynı bellek yuvasının alloc_empty_file() tarafından yeniden kullanılabilmesine olanak tanır.

Saldırganın bunu nasıl kullandığı: Saldırgan, bu çapraz-cache saldırısını kullanarak:

  • İstenmeyen bir slab cache'e karşı kmem_cache_free() çağrısı tetikleyebilir
  • Bu da yanlış cache'de bellek bozulmasına yol açar
  • bundan dolayı eski linux çekirdekli işletim sistemlerinden kaçınalım derim.(arch kullanın)

https://github.com/J-jaeyoung/bad-epoll daha detaylar için pocu
 
Geri
En Üst