CIFSwitch adı verilen yeni bir Linux yerel ayrıcalık yükseltme güvenlik açığı, belirli sistemlerde ayrıcalıksız yerel kullanıcıların root erişimi elde etmesine olanak tanıyor. Güvenlik araştırmacısı Asim Manizada tarafından açıklanan bu açık, Linux çekirdeği CIFS istemcisi ile cifs-utils kullanıcı alanı yardımcısı arasındaki arayüzde bulunuyor.
Açık, CIFS'in Linux anahtarlıklarını kullanma şeklinden kaynaklanıyor. Normalde çekirdek bir cifs.spnego anahtarı talep eder ve sistemin request-key yapılandırması, Kerberos/SPNEGO kimlik doğrulamasını işlemek için cifs.upcall'ı root olarak başlatır. Ancak güvenlik açığı, ayrıcalıksız bir kullanıcı alanı işleminin sahte bir cifs.spnego anahtar tanımı talep etmesine izin veriyor.
Kamuya açık proof-of-concept istismarı, saldırganın özel bir ad alanına girmesine ve kök yardımcı tarafından yüklenen sahte bir NSS kütüphanesi aracılığıyla root ayrıcalıklarıyla kod çalıştırmasına olanak tanıyor. Çekirdek tarafındaki düzeltme, yalnızca CIFS'in özel spnego_cred kimlik bilgilerini kullanarak oluşturduğu anahtar tanımlarını kabul ederek bu açığı kapatıyor.
CIFSwitch, varsayılan olarak her Linux sistemini etkilemiyor. Etkilenmek için güvenlik açığı bulunan bir çekirdek, etkilenen cifs-utils sürümü, varsayılan cifs.spnego request-key kuralı, etkinleştirilmiş ayrıcalıksız kullanıcı ve mount ad alanları ile saldırı zincirini engellemeyen SELinux veya AppArmor politikaları gerekiyor. Linux Mint 21.3 ve 22.3, CentOS Stream 9, Rocky Linux 9 ve Kali Linux sürümleri test edilen savunmasız sistemler arasında yer alıyor.
Azaltma önlemleri arasında dağıtımdan çekirdek güncellemesini uygulamak, CIFS/SMB bağlantıları gerekli değilse cifs modülünü engellemek, gereksiz yere cifs-utils'i kaldırmak, Kerberos CIFS kimlik doğrulaması gerekmiyorsa varsayılan cifs.spnego request-key kuralını geçersiz kılmak ve ayrıcalıksız kullanıcı ad alanlarını devre dışı bırakmak bulunuyor.