Yeni bir XXE (XML eXternal Entity) Enjeksiyonunun hem şirket içi hem de bulut örneklerinde SharePoint’i etkilediği keşfedildi.
Bu güvenlik açığı CVE-2024-30043’e atanmış ve önem derecesi 6,3 (Orta).
Ancak bu güvenlik açığından başarıyla yararlanılması, bir tehdit aktörünün SharePoint Çiftlik Hizmeti Hesabı izniyle dosyaları okumasına, SSRF saldırıları gerçekleştirmesine, NTLM geçişi gerçekleştirmesine ve uzaktan kod yürütme de dahil olmak üzere XXE’nin yol açabileceği diğer ek saldırıları gerçekleştirmesine olanak tanır.
Varlık (XXE) Ekleme Güvenlik Açığı
Cyber Security News ile paylaşılan öneriye göre, bu güvenlik açığından düşük ayrıcalıklı bir kullanıcı tarafından yararlanılabilir. DataSource’tan devralınan temel sınıf olan BaseXmlDataSource DataSource’ta XML getirme ve XML ayrıştırmadaki kusurlar nedeniyle oluşur.
BaseXmlDataSource sınıfındaki Execute yöntemi, kullanıcının tamamen kontrol edebileceği “request” adı verilen bir dizeyi kabul eder. Bu istek, araştırmacıların “DataFile” olarak adlandırdığı bir XML dosyasına işaret eden bir URL veya yol gerektirir.
With ANYRUN You can Analyze any URL, Files & Email for Malicious Activity : Start your Analysis
XML bu dosyada getiriliyor. FetchData, kullanıcı tarafından gönderilen URL parametresini giriş argümanı olarak kabul eder.
Bu FetchData, SoapDataSource (HTTP SOAP isteğini gerçekleştirir), XmlUrlDatasource (özelleştirilebilir bir HTTP isteği gerçekleştirir) ve SPXmlDataSource (SharePoint sitesindeki belirtilen mevcut bir dosyayı alır) olarak üç sınıfa uygulanır.
Ancak XML ayrıştırma, DTD’lerin (belge türü tanımları) işlenmesini devre dışı bırakmak için DtdProcessing.Prohibit olarak ayarlanan xmlReaderSettings.DtdProcessing aracılığıyla yapılır.
Ayrıca xmlTextReader.XmlResolver, yeni oluşturulmuş bir XmlSecureResolver’a ayarlanmıştır.
XmlSecureResolver oluşturulurken istek dizesi, SecurityUrl parametresi aracılığıyla iletilir. İsteğin içeriği while-do döngüsü kullanılarak okunur.
Bu kurulum güvenli görünse de daha sonra hiçbir HTTP isteğinin gerçekleştirilmediği ve bir DTD işleme istisnasının atıldığı keşfedildi.
Şaşırtıcı bir gerçek olarak, yük, XmlReaderSettings.DtdProcessing Prohibit olarak ayarlandığında ve ayrıca An XmlTextReader.XmlResolver ayarlandığında ilk olarak XmlReader tarafından okunan bir HTTP isteği yapılarak yürütüldü.
Yükün Yürütülmesinin Nedeni
Çözümleyici her zaman önce parametre varlıklarını ele almaya çalışacaktır ve ancak bundan sonra istisnanın sonda atılması nedeniyle DTD yasaklama kontrolü gerçekleştirilir.
Ancak yine de Bant Dışı XXE’den yararlanmaya ve kötü niyetli olarak hazırlanmış verilerle potansiyel olarak veri sızdırmaya izin veriyor.
Microsoft, Mayıs 2024’teki Salı Yaması güncellemelerindeki bu güvenlik açığını giderdi.
Microsoft tarafından yayımlanan yamaya göre SpXmlDataSource için daha fazla URL ayrıştırma kontrolü uygulandı ve XmlTextReader nesnesi de DTD kullanımını yasaklıyor.
Tehdit aktörlerinin bu güvenlik açığından yararlanmasını önlemek için SharePoint kullanıcılarının şirket içi ve bulut örneklerini en son sürümlere güncellemeleri önerilir.
Looking for Full Data Breach Protection? Try Cynet's All-in-One Cybersecurity Platform for MSPs: Try Free Demo