Linux Çekirdeğinde Dokuz Yıllık Güvenlik Açığı Tespit Edildi

Linux çekirdeğindeki ptrace alt sisteminde, yaklaşık dokuz yıldır fark edilmeden varlığını sürdüren ciddi bir mantıksal güvenlik açığı ortaya çıkarılmıştır. CVE-2026-46333 koduyla tanımlanan ve siber güvenlik literatüründe “ssh-keysign-pwn” olarak da adlandırılan bu açık, yetkisiz yerel kullanıcıların sistem üzerinde tam yetki (root) elde etmelerine ve hassas sistem dosyalarına erişmelerine zemin hazırlamaktadır.

Yapılan teknik incelemeler, hatanın Kasım 2016’da yayınlanan v4.10-rc1 çekirdek sürümünden bu yana ana hat kodlarında (mainline) yer aldığını göstermektedir. Güvenlik açığı; Debian, Fedora ve Ubuntu başta olmak üzere pek çok majör Linux dağıtımının varsayılan kurulumlarını doğrudan etkilemektedir.

Güvenlik Açığının Teknik Detayları ve Çalışma Mekanizması

Söz konusu zafiyet, Linux çekirdeğinin __ptrace_may_access() fonksiyonundaki bir mantık hatasından kaynaklanmaktadır. Normal şartlar altında işletim sistemi, yüksek yetkilere sahip süreçlerin (process) bellek içeriklerinin veya açık dosya tanıtıcılarının (file descriptor), yetkisiz süreçler tarafından izlenmesini ya da değiştirilmesini engellemek üzere tasarlanmıştır.

Ancak tespit edilen bu açık, ayrıcalıklı bir sürecin yetkilerini bıraktığı (dropping credentials) ve sonlandığı çok dar bir zaman pencerisinde, çekirdeğin “dumpable” (bellek dökümü alınabilir) bayrağını doğru şekilde kapatamamasına neden olmaktadır. Bu yönetim zafiyeti, Linux çekirdeğine Ocak 2020’de (v5.6-rc1) eklenen pidfd_getfd() sistem çağrısı (syscall) ile birleştirildiğinde tehlikeli bir saldırı vektörüne dönüşmektedir.

Saldırganlar, sonlanmakta olan ayrıcalıklı bir sürece ptrace operasyonları üzerinden erişerek, o sürecin elinde bulundurduğu açık dosya tanıtıcılarını ve kimlik doğrulaması yapılmış süreçler arası iletişim kanallarını kendi kullanıcı kimliklerine (UID) kopyalayabilmektedir. Bu durum, tamamen kararlı çalışan ve olasılıklara dayanmayan bir yetki yükseltme mekanizması sağlamaktadır.

Doğrulanmış Saldırı Yöntemleri ve Etki Alanı

Güvenlik araştırmacıları, bu mantıksal hatayı istismar ederek sistem yapılandırmasına göre tam yetki sağlayan dört farklı yerel saldırı senaryosu geliştirmiş ve doğrulamıştır:

  • chage (set-gid-shadow): Kullanıcı şifre bilgilerinin yönetiminden sorumlu bu araç hedef alınarak, normalde erişimi kısıtlı olan ve şifrelenmiş parola özetlerini barındıran /etc/shadow dosyasının içeriği tamamen okunabilmektedir.

  • ssh-keysign (set-uid-root): Sunucunun kimliğini istemcilere kanıtlamak için kullandığı OpenSSH özel anahtarları (/etc/ssh/*_key) sistemden dışarı sızdırılabilmektedir.

  • pkexec (set-uid-root): Konsol üzerinde aktif bir oturum bulunması durumunda, uzaktan SSH ile bağlanmış yetkisiz bir kullanıcı bile sistem üzerinde kök kullanıcı (root) yetkileriyle rastgele komut çalıştırabilmektedir.

  • accounts-daemon: Doğrudan sistem arka planında çalışan kök süreçler manipüle edilerek sistem kontrolü tamamen ele geçirilebilmektedir.

Bu açık yerel bir zafiyet olduğu için dış ağlardan doğrudan tetiklenememektedir. Ancak paylaşımlı sunucu altyapıları, sürekli entegrasyon (CI/CD) hatlarında çalışan güvensiz kodlar veya bir şekilde sisteme ilk adımı atmış düşük yetkili zararlı yazılımlar için bu açık, doğrudan işletim sisteminin çekirdeğine sızma köprüsü vazifesi görmektedir.

Alınması Gereken Önlemler ve Geçici Çözümler

Sistem güvenliğinin korunması adına dağıtım üreticileri tarafından yayınlanan güncel çekirdek (kernel) paketlerinin vakit kaybetmeksizin sunuculara ve uç cihazlara uygulanması gerekmektedir. Dağıtımların resmi havuzlarında düzeltilmiş çekirdek sürümleri halihazırda erişime açılmıştır.

Kurumsal altyapılarda yamaların hemen uygulanmasının mümkün olmadığı senaryolar için geçici bir hafifletme yöntemi mevcuttur. İşletim sisteminde sysctl aracı vasıtasıyla ptrace kapsamının daraltılması, mevcut saldırı kodlarının çalışmasını engellemektedir. Bunun için sistem yöneticilerinin aşağıdaki komutu uygulaması önerilmektedir:

sudo sysctl -w kernel.yama.ptrace_scope=2

Bu ayar, ptrace yetkisini sadece yönetici hesaplarıyla sınırlandırarak pidfd_getfd() çağrısı üzerinden yapılan istismar yolunu kapatmaktadır. Ancak bu değişikliğin, sistem üzerindeki hata ayıklama (gdb vb.) araçlarının işleyişini de kısıtlayacağı göz önünde bulundurulmalıdır. Çekirdek güncellemesi başarıyla tamamlandıktan sonra bu geçici kısıtlamaya ihtiyaç kalmamaktadır.