UNIX sistemlerine saldırı: CUPS üzerinden saldırı, Bölüm I
Özet
- CVE-2024-47176:
cups-browsed <= 2.0.1, UDP INADDR_ANY:631 üzerinde bağlanır ve saldırganın kontrol ettiği bir URL'ye Get-Printer-Attributes IPP isteğini tetikleyebilir
- CVE-2024-47076:
libcupsfilters <= 2.1b1 içindeki cfGetPrinterAttributes5, IPP sunucusundan dönen IPP özniteliklerini doğrulamaz veya temizlemez; bu da saldırganın kontrol ettiği verilerin CUPS sistemine sağlanmasına yol açabilir
- CVE-2024-47175:
libppd <= 2.1b1 içindeki ppdCreatePPDFromIPP2, geçici PPD dosyasına IPP özniteliklerini yazarken doğrulama veya temizleme yapmaz; bu da saldırganın kontrol ettiği verilerin enjekte edilmesine neden olabilir
- CVE-2024-47177:
cups-filters <= 2.0.1 içindeki foomatic-rip, FoomaticRIPCommandLine PPD parametresi üzerinden keyfi komut yürütülmesine izin verir
Etki
- Uzakta bulunan ve kimlik doğrulaması gerektirmeyen bir saldırgan, mevcut bir yazıcının IPP URL'sini kötü amaçlı bir URL ile değiştirebilir veya yeni bir yazıcı kurabilir; ardından bir yazdırma işi başlatıldığında keyfi komutlar çalıştırabilir
Giriş noktası
- WAN / genel internet: Uzak saldırgan, 631 numaralı porta UDP paketi gönderir. Kimlik doğrulaması gerekmez
- LAN: Yerel saldırgan, zeroconf / mDNS / DNS-SD duyurularını sahteleyerek aynı kod yolu üzerinden RCE elde edebilir
Etkilenen sistemler
- Çoğu GNU/Linux dağıtımı
- Bazı BSD sistemleri
- Google Chromium / ChromeOS (muhtemel)
- Oracle Solaris
- Diğerleri
Çözüm
cups-browsed hizmetini devre dışı bırakın ve kaldırın
- Sistemdeki CUPS paketlerini güncelleyin
- Sistemi güncellemek mümkün değilse UDP 631 portunu ve tüm DNS-SD trafiğini engelleyin
Giriş
- Birkaç hafta önce, yeni bir dizüstü bilgisayarda Ubuntu kurarken UDP portlarını dinleyen hizmetleri kontrol etmek için
netstat -anu komutunu çalıştırdım
cups-browsed'ın 631 numaralı portta UDP kullanarak tüm ağ arayüzlerinde dinlediğini ve yanıt verdiğini fark ettim
cups-browsed, yeni yazıcıları otomatik olarak sisteme eklemekten sorumludur
cups-browsed nedir?
cups-browsed, CUPS sisteminin bir parçasıdır; yeni yazıcıları keşfeder ve bunları otomatik olarak sisteme ekler
- Varsayılan yapılandırma dosyası yorum satırı halindedir ve herkesin bağlanmasına izin verecek şekilde ayarlanmıştır
Yığın tampon taşması ve yarış durumu
cups-browsed, oss-fuzz kapsamına dahil değildir
process_browse_data işlevinde yığın tampon taşması ve yarış durumu oluşabilir
- Bu sorunlar geliştiriciye ve CERT'e bildirilmiş olsa da henüz yamalanmamıştır
found_cups_printer işlevine geri dönüş
found_cups_printer işlevi, paketten URL'yi çıkarır ve bunu cfGetPrinterAttributes işlevine iletir
- Bu URL, saldırganın kontrol ettiği bir sunucuya bağlanır
Internet Printing Protocol (IPP)
- IPP, istemci cihazlarla yazıcılar arasındaki iletişim için kullanılan bir protokoldür
- Saldırgan, kontrol ettiği yazıcı özniteliklerini döndürerek sisteme bir yazıcı eklenmesini sağlayabilir
GN⁺ özeti
- Bu yazı, CUPS sistemindeki açıklar istismar edilerek nasıl uzaktan kod yürütme elde edilebileceğini açıklıyor
- CUPS ile ilgili çeşitli açıklar bulunuyor ve bunlar üzerinden saldırgan sistem üzerinde denetim kurabiliyor
- Bu açıklar henüz yamalanmış değil; kullanıcıların CUPS hizmetini devre dışı bırakması veya güncellemesi gerekiyor
- Benzer işlevlere sahip diğer projeler arasında
LPRng ve CUPS'un güncel sürümleri yer alıyor
Henüz yorum yok.