← Radar

Konu: Güvenlik4 dk okuma

Linux'ta root açıkları art arda: Copy Fail'den sonra Dirty Frag ve Bad Epoll

Bu neden önemli?

Sunucunda sıradan bir hesap ya da ele geçirilmiş bir uygulama, yine tam yetki demek olabiliyor. Bir hata deseni bir kez bulununca çekirdeğin başka köşelerinde de aranıyor ve yapay zekâ bu aramayı ucuzlatıyor. Yani bu açıkların ardı gelecek, çekirdek güncellemelerini ertelemek giderek daha riskli.

Ne oldu?

Linux’ta en korkulan açık türü evrensel LPE (universal local privilege escalation). Sunucuda sıradan bir hesabı olan biri, hemen her dağıtımda, hiçbir ayar değiştirmeden root oluyor. Eskiden bunlar seyrek çıkardı. 2016’daki Dirty COW, copy-on-write mekanizmasındaki bir yarış durumunu kullanıyordu. 2022’deki Dirty Pipe, pipe’larda yanlış bırakılan bir bayrak sayesinde salt okunur dosyaların bellekteki kopyasına yazdırıyordu. Arada yaklaşık altı yıl vardı.

2026’da tempo değişti. 29 Nisan’da Copy Fail çıktı, sekiz gün sonra Dirty Frag, Haziran sonunda da Bad Epoll.

Dirty Frag: Aynı desen, başka köşe

Copy Fail’in özü şuydu: splice() ile bir dosyanın sayfa önbelleğindeki (page cache) sayfaları, şifreleme kodunun veriyi “yerinde” işlediği bir alana taşıyabiliyorsun. Kod oraya yazınca, sadece okuma iznin olan bir dosyanın bellekteki kopyasını değiştirmiş oluyorsun.

Araştırmacı Hyunwoo Kim, Copy Fail’den yola çıkıp şunu sordu: Çekirdekte bu deseni tekrarlayan başka yer var mı? İki yer buldu. IPsec’in ESP kodu (CVE-2026-43284) ve AFS’in kullandığı RxRPC (CVE-2026-43500). İkisinde de splice ile pakete eklenen, aslında başkasına ait sayfalar paketin kendi verisi sanılıp yerinde şifresi çözülüyordu. Kim’e göre ESP tarafı Copy Fail ile aynı noktaya yazıyor ama algif_aead modülüne ihtiyaç duymuyor. Yani Copy Fail için önerilen geçici önlemi almış sistemler de açıktı.

İki hata birbirinin eksiğini kapatıyor. ESP yolu, yetkisiz kullanıcının namespace açabilmesini istiyor; Ubuntu bunu bazen AppArmor ile engelliyor. RxRPC modülü çoğu dağıtımda yok ama Ubuntu’da varsayılan olarak yükleniyor. Yarış durumu yok, saf mantık hatası, o yüzden istismar çok güvenilir. Kim, Ubuntu 24.04, RHEL 10.1 ve Fedora 44 gibi dağıtımlarda denediğini yazıyor. Ambargo dışarıdan bozulduğu için yazı, dağıtım bakımcılarının isteğiyle yama hazır olmadan yayımlandı. Ubuntu’ya göre açık konteynerden kaçışa da imkân verebilir.

Bad Epoll: Mythos’un kaçırdığı yarış

epoll, Linux’ta “bu dosya tanımlayıcılarından hangisinde iş var?” diye soran sistem çağrısı. Node.js’in kullandığı libuv dahil, Linux’taki asenkron sunucuların çoğu onun üstüne kurulu. Jaeyoung Chung’un bulduğu Bad Epoll (CVE-2026-46242) burada bir use-after-free: İki kapanma yolu aynı anda çalışınca biri bir nesneyi serbest bırakırken diğeri hâlâ ona yazıyor. Hata 2023’te geldi, 6.4 ve sonrası çekirdekleri etkiliyor.

Yarış penceresi yaklaşık altı komut genişliğinde. Chung pencereyi genişletip çekirdeği çökertmeden tekrar deneyen bir istismar yazdı; Google’ın kernelCTF hedeflerinde yüzde 99’a yakın başarı bildiriyor. İki farkı daha var. epoll kapatılabilecek bir modül değil, tek çare yama. Ayrıca Chrome’un renderer sandbox’ının içinden bile tetiklenebiliyor ve Android’i de etkileyebiliyor.

Başlıktaki Mythos detayı şu: Chung’a göre Anthropic’in Mythos modeli aynı küçük epoll kodunda başka bir yarış hatası buldu (CVE-2026-43074), ama Bad Epoll’u görmedi. Chung’un iki tahmini var: Pencere o kadar dar ki iki iş parçacığının nasıl iç içe geçtiğini kafanda canlandırmak zor. Ve çekirdeğin bellek hatası dedektörü KASAN bu hatada çoğu zaman alarm vermiyor, yani elde güçlü bir kanıt yok. Chung hatayı Şubat’ta bildirmişti, ama doğru yama ancak Nisan sonunda geldi.

Neden şimdi bu kadar çok?

Açık araştırması büyük ölçüde desen tanıma. Bir hata sınıfı bulununca, aynı yanlış varsayımı çekirdeğin başka yerlerinde aramak artık çok daha ucuz. Videonun alıntıladığı bir yorum bunu “birikmiş işin temizlenmesi” diye özetliyor: Bu hatalar yeni değil, yıllardır orada duruyordu; onları koruyan tek şey bakacak insan vaktinin olmamasıydı.

Ne yapmalısın?

  • Dağıtımının çekirdek güncellemelerini uygula ve yeniden başlat. Dirty Frag’in iki düzeltmesi de Mayıs’ta kararlı sürümlere girdi (örneğin 6.12.88, 6.18.29, 7.0.6). Bad Epoll için 6.12.95, 6.18.33 ve 7.0.10 ya da dağıtımının güncel paketi gerekiyor.
  • Hemen güncelleyemiyorsan Dirty Frag için esp4, esp6 ve rxrpc modüllerini engelleyebilirsin. Ama bu IPsec VPN’lerini bozar. Bad Epoll için böyle bir kestirme yok.
  • Çok kiracılı makinelerde (CI, paylaşımlı hosting, Kubernetes düğümleri) önceliği en üste koy.

Sonra ne oldu?

Ekim’de Chung, Bad Epoll’un kernelCTF’ten 92.337 dolar ödül aldığını ekledi. Mythos’un bulduğu hatayı aynı gün iki bağımsız araştırmacı da bildirmişti. 3 Kasım itibarıyla ne Dirty Frag ne Bad Epoll CISA’nın aktif istismar listesinde. Yarış hatalarının yapay zekâya kapalı olmadığını da gördük: Kasım’da Anthropic, bir iç modelinin Linux’un MPTCP kodundaki bir yarış hatasıyla uzaktan root zinciri kurduğunu açıkladı.

Düşün

  • Sunucunda yüklü olan ama hiç kullanmadığın çekirdek modülleri hangileri?
  • Bir çekirdek yaması çıktığında makinelerini kaç gün içinde yeniden başlatabiliyorsun?

Videoyu izle

Tıklayınca video YouTube'dan yüklenir; o ana kadar bu sayfa YouTube'a hiçbir istek göndermez.
Kaynaklar (14, İngilizce)

Kendi cümlelerimizle yazılmış bir özettir, çeviri değildir. Tüm kaynaklar yukarıda.

Konu: Güvenlik4 dkVideo: Computerphile

GPS uydularındaki gizli mesajlar: Şifreyi çözmeden istatistikle okumak

GPS sinyalinde, içeriği hiçbir belgede açıklanmayan 22 karakterlik bir alan var. UCL'den Steven Murdoch 19 yıllık arşiv kaydını sıkıştırma ve değişim analiziyle inceledi. Vardığı sonuç: Bu alan büyük olasılıkla askeri GPS alıcılarına havadan şifreleme anahtarı dağıtmak için kullanılıyor.