Linux’ta CUPS Panik Yarattı: Uzaktan Kod Yürütme Tehlikesi Büyüyor!

Linux sistemlerinde kullanılan CUPS (Common UNIX Printing System) baskı sistemiyle ilgili bir dizi güvenlik açığı, belirli koşullar altında uzaktan kod yürütme (RCE) saldırılarına kapı aralıyor. Bu açıklar, CVE-2024-47076 (libcupsfilters), CVE-2024-47175 (libppd), CVE-2024-47176 (cups-browsed) ve CVE-2024-47177 (cups-filters) olarak izleniyor ancak bu açıklar sistemlerin varsayılan konfigürasyonunda etkili değil.

CUPS, Linux sistemlerinde en yaygın kullanılan baskı sistemi olup aynı zamanda FreeBSD, NetBSD ve OpenBSD gibi Unix benzeri işletim sistemlerinde de desteklenmektedir. Sistemin bir bileşeni olan cups-browsed daemon’u, yerel ağdaki paylaşılan yazıcıları otomatik olarak keşfederek, makinelerde kullanıma hazır hale getirir.

Güvenlik Açıklarının Ayrıntıları

cups-browsed daemon’u etkinse (ki çoğu sistemde varsayılan olarak etkin değildir), UDP 631 portunda dinlemeye başlar ve bu port üzerinden uzak bağlantıları kabul eder. Saldırganlar bu servise sahte bir yazıcı tanıtarak hedef makineye zararlı PostScript Printer Description (PPD) dosyası yükleyebilirler. Kullanıcı, bu zararlı yazıcı üzerinden yazdırma işlemi gerçekleştirdiğinde, saldırganın istediği komutlar yerel bilgisayarda çalıştırılabilir.

Bu bir RCE zinciri olsa da bu açıkların istismar edilebilmesi için saldırganların birkaç engeli aşması gerekmekte. İlk olarak hedef sistemde cups-browsed daemon’un etkinleştirilmiş olması gerekiyor ki bu çoğu sistemde varsayılan olarak devre dışı. Ayrıca saldırgan kullanıcının yerel ağındaki sahte bir yazıcıdan yazdırma yapmasını sağlamalıdır.

Red Hat, bu açıkları “Kritik” yerine “Önemli” olarak derecelendirdi. Yapılan testler çoğu Linux sunucusunda cups-browsed servisi varsayılan olarak kapalı olduğunu gösterse de bazı Ubuntu sanal makinelerinde bu hizmetin aktif olduğu gözlemlendi.

Yama Yok, Ancak Koruyucu Önlemler Mevcut

Yamalar henüz geliştirilme aşamasında olsa da, Red Hat, yöneticilerin cups-browsed servisini devre dışı bırakarak bu güvenlik zincirini kırabileceklerini belirtti. İşte uygulanması gereken komutlar:

systemctl stop cups-browsed
sudo systemctl disable cups-browsed

Ayrıca, cups-browsed servisinin çalışıp çalışmadığını kontrol etmek için şu komut kullanılabilir:

systemctl status cups-browsed

Eğer sonuç “Active: inactive (dead)” ise sistem bu güvenlik açığından etkilenmez. Ancak “running” veya “enabled” şeklinde bir çıktı alınıyor ve /etc/cups/cups-browsed.conf dosyasındaki “BrowseRemoteProtocols” daki “cups” değeri içeriyorsa sistem savunmasız anlanına geliyor.

Exit mobile version