Teknoloji

Ubuntu 26.04, Rust sudo’yu varsayılan yapıyor ve 46 yıllık C güvenlik açığı sınıfını kapatıyor

Adrian Kessler

Nisan 2026’da yayımlanan Ubuntu 26.04 LTS, sudo-rs’yi Linux’ta sistem düzeyinde erişimi kontrol eden aracın varsayılan uygulaması haline getiriyor. Bir kullanıcı veya işlem yükseltilmiş ayrıcalıklara ihtiyaç duyduğunda — yazılım yüklemek, sistem dosyalarını değiştirmek, bir hizmeti root olarak çalıştırmak gibi — sudo devreye girer. Orijinali C ile yazılmıştı. sudo-rs ise Rust ile baştan yazılmış tam bir yeniden uygulamadır ve artık dünyanın en yaygın kullanılan Linux dağıtımında varsayılan olarak gelen sürümdür.

Orijinal sudo 1980’de yazıldı. Bu süre zarfında C kod tabanı, özelliklerinin yanı sıra başka bir şey daha biriktirdi: Rust’ın derleyici düzeyinde ortadan kaldırdığı bir bellek yönetimi güvenlik açığı sınıfı. Bunların en önemlisi, Baron Samedit adı verilen CVE-2021-3156’ydı. Güvenlik açığı yaklaşık on yıl boyunca fark edilmeden kaldı ve her büyük Linux dağıtımında yerel ayrıcalık yükseltmeye izin verdi. Root olmayan bir kabuk hesabına sahip yerel bir saldırgan root olabiliyordu. Canonical, açığın ifşa edilmesinden sonraki 24 saat içinde bir yama yayımladı. Buna izin veren mimari koşul — C’nin manuel bellek yönetimi — ise yamalanmadı.

Rust’ın değiştirdiği şey, kodun nasıl yazıldığı değil, kodda hangi tür hataların bulunabileceğidir. Arabellek taşmaları, kullanım-sonrası-serbest bırakma hataları ve boş işaretçi referansları, Rust’ın derleme zamanında ortadan kaldırdığı bir güvenlik açığı kategorisidir — derleyici, bu kalıpları içeren kodu çalıştırılmadan önce reddeder. Ayrıcalık yükseltmeyi yöneten bir yazılım için bu, tehdit modelinden kaldırılacak önemli bir kısıtlamadır.

sudo-rs, 2023’te tam ve bağımsız bir güvenlik denetiminden geçti. Proje, C uygulamasıyla performans eşitliğine ulaştı. Canonical, daha önceki Ubuntu sürümlerinde sudo-rs’yi bir seçenek olarak sunmaya başladı ve 26.04’te varsayılan haline getirdi. Aşamalı yaklaşım, başarısız olması halinde kullanıcıları sistem erişiminden kilitleyebilecek veya saldırganları root’a yükseltebilecek bir aracı değiştirmek için uygun olan ihtiyatı yansıtıyor.

Ubuntu 26.04 ayrıca uutils coreutils — ls, cat ve mv gibi temel araçların Rust ile yeniden yazılmış halleri — ile birlikte geliyor. Ancak cp, mv ve rm, bu sürüm için GNU C uygulamaları olarak kalıyor. Canonical’in gerekçesi: Bu Rust uygulamalarındaki TOCTOU yarış koşulları, ekibin bir LTS sürümü için çok yüksek olduğuna karar verdiği veri yok etme riski taşıyor. Aşamalı kullanıma sunma, ‘sadece Rust’a yeniden yaz’ yaklaşımı hakkında dürüst bir şeyi ortaya koyuyor: araçlar mevcut, ancak geçiş, toptan bir anahtar değişimi değil, vaka bazında güvenlik analizi gerektiriyor.

Linux çekirdeği, 2022’de Rust sürücü kodunu kabul etmeye başladı. Android ekibi, 2021’den beri yeni sistem kodları için Rust kullanıyor. Microsoft, belleğe duyarlı Windows bileşenlerini Rust ile yeniden yazdı. Ubuntu’nun sudo-rs’yi varsayılan yapması anlamlı bir dönüm noktasıdır çünkü bu, yeni bir sürücüde veya isteğe bağlı bir bileşende yapılan bir deney değil — sistem erişimi için kimlik doğrulama katmanıdır ve her yeni Ubuntu kurulumuna varsayılan olarak yüklenir.

Baron Samedit’i üreten CVE modeli, bu yapılandırma altında Ubuntu kullanıcıları için sona eriyor. Diğer büyük dağıtımların — Debian, Red Hat, Fedora, Arch — Ubuntu’nun varsayılan sudo-rs hamlesini izleyip izlemeyeceği, değişimin ölçeğini belirleyen sorudur. sudo-rs, bunların tümü için mevcuttur. Canonical, denetim sonuçlarının yeterli olduğuna karar verdi. Bir sonraki karar diğer bakıcılara ait.

Etiketler: , , , , ,

Tartışma

S kadar yorum var.