Mailcow’un 2024-04’ten önceki sürümlerini etkileyen iki kritik güvenlik açığı (CVE-2024-31204 ve CVE-2024-30270), saldırganların sunucuda rastgele kod çalıştırmasına olanak tanıyor.
Saldırgan, yöneticiye özel hazırlanmış bir e-posta göndererek bu güvenlik açıklarından yararlanabilir.
Yönetici, yönetici panelinde oturum açmışken e-postayı görüntülediğinde, saldırgan kötü amaçlı komut dosyaları ekleyebilir ve sunucunun tam kontrolünü ele geçirebilir.
Scan Your Business Email Inbox to Find Advanced Email Threats - Try AI-Powered Free Threat Scan
Mailcow’un PHP’deki yönetici paneli, kullanıcı oturumunda hata mesajlarını depolamak için özel bir istisna işleyicisi kullanır; bunlar daha sonra alınır ve bir sonraki sayfa yüklemesinde bir uyarı kutusunda görüntülenir.
Süreç, oturum verilerinin ayrıştırılmasını, hata mesajlarının bir şablon içindeki bir JavaScript işlev çağrısına enjekte edilmesini ve son olarak, tarayıcıda mesaj alındıktan sonra bir JavaScript kitaplığı kullanılarak bir uyarı kutusu oluşturulmasını içerir.
Hata mesajları görüntülenmeden önce temizlenmediği için bir güvenlik açığı oluşturur ve potansiyel olarak saldırganların kötü amaçlı komut dosyaları eklemesine olanak tanır.
CVE-2024-31204, MailCow’un yönetici panelinde bulunan ve jQuery tabanlı bildirim kitaplığının HTML varlıklarından düzgün şekilde kaçmaması nedeniyle ortaya çıkan ve saldırganların ortaya çıkan bir istisnanın içeriğini kontrol ederek kötü amaçlı komut dosyaları eklemesine olanak tanıyan bir XSS güvenlik açığıdır.
Saldırgan bunu başarabilir çünkü istisna işleyicisi, Twig’in kaçış mekanizmasını atlayan, hata mesajına işlev çağrı yığını bağımsız değişkenlerini dahil etmek için print_r() yöntemini kullanır.
Saldırgan, özel hazırlanmış bir URL ile güvenlik açığı bulunan API uç noktasına referans veren bir arka plan görüntüsü içeren kötü amaçlı bir e-posta göndererek, hazırlanmış bir sorgu dizesi aracılığıyla girdi olarak bir dizi sağlayarak json_api.php dosyasındaki patlatma() işlevinden yararlanabilir.
E-posta istemcisi, ilgili URL’den kaynaklanan kısıtlamaları atlayarak, sorgu dizesine gömülü komut dosyasını çalıştırarak kurbanın oturumuna, yönetici panelini bir sonraki ziyaretinde yararlanılması için bir XSS verisi enjekte eder.
SonarCloud, MailCow’un rspamd_maps işlevinde, bir saldırganın rastgele dosyaların üzerine yazmasına izin veren, kullanıcı tarafından sağlanan girişin yetersiz doğrulanmasından kaynaklanan ve saldırganın sistem dosyalarının üzerine yazmak için bir yol geçiş yükü oluşturmasına yol açabilen bir güvenlik açığı (CVE-2024-30270) keşfetti.
Bu güvenlik açığı, varlık kontrolleri nedeniyle rastgele dosya oluşturmak için kullanılamasa da, bir saldırgan, sunucuyu tehlikeye atmak için kritik PHP dosyalarının üzerine kötü amaçlı kod yazabilir.
Bir saldırgan, Mailcow’un Twig şablonlama motorundaki yazılabilir bir şablon önbellek dizininden yararlanabilir ve derlenmiş bir şablon dosyasının üzerine kötü amaçlı kod yazarak saldırgan, ilgili sayfaya erişildiğinde rasgele komutlar yürütebilir.
Mailcow’un devre dışı bırakılan PHP işlevleri bu durumu hafifletirken, mail() işlevi etkin kalarak saldırganların bu kısıtlamaları aşmak ve sunucuda komutları yürütmek için çok aşamalı veriler içeren e-postalar oluşturmasına olanak tanır.
Mailcow geliştiricileri, tüm HTML özel karakterlerini şablonda oluşturmadan önce istisna ayrıntılarında kodlayarak XSS güvenlik açığını (CVE-2024-31204) giderdi.
Dosya yolu güvenlik açığına (CVE-2024-30270) yönelik olarak, yalnızca izin verilen harita türlerinin kullanılmasını sağlamak amacıyla doğrulama mantığını güçlendirdiler.
Ek olarak, Referer başlığı ve Sec-Fetch-Dest başlığı gibi tarayıcılar tarafından gönderilen belirli başlıkları arayarak API istekleri ile normal web isteklerini ayırt etmeye yönelik kontroller ekleyerek gelecekte benzer saldırıları önlemek için yeni güvenlik önlemleri uyguladılar.
Free Webinar! 3 Security Trends to Maximize MSP Growth -> Register For Free