Ocak 2026’da, OPSWAT adresinde Apache Tika'daki kritik bir güvenlik açığı olan CVE-2025-66516'ya ilişkin bir analiz yayınladı bu güvenlik açığı, arka uç ayrıştırıcısına ulaşan kötü amaçlı bir PDF dosyası tarafından tetikleniyordu. Düzeltme oldukça temizdi: dosya ayrıştırıcısına ulaşmadan önce temizleniyordu ve ayrıştırıcı yükü hiçbir zaman görmüyordu. Bu çözüm işe yaradı çünkü tek bir ayrıştırıcı, tek bir dosya türü ve tek bir bilinen kütüphane vardı.
Peki ya XML bir PDF değil de, bir SSO (Tek Oturum Açma) platformuna aktarılan bir yapılandırma dosyası, bir finansal otomasyon motoruna gönderilen bir iş akışı tanımı ya da bir hastane entegrasyon sistemi tarafından işlenen bir sağlık verisi yükü ise? Bu dosyalar her gün kuruluşlar, yükleniciler, düzenleyici kurumlar ve iş ortakları arasında dolaşır ve yönetilen dosya aktarımı ile iş ortağı portalları aracılığıyla güvenilir iş girdileri olarak ulaşır. Çoğu veri temizleme çözümü bu dosyaları asla incelemez.
XML, endüstrinin dilidir ve sorun da budur
PDF ve SVG XXE (XML Dış Varlığı) saldırıları benzer bir yapıya sahiptir: bir kullanıcı bir dosya yükler; bir arka uç kütüphanesi bu dosyayı ayrıştırır; ayrıştırıcı ise yükü çalıştırır. Giriş noktası açıktır.
Sektör XML’leri ise farklıdır. Bunlar, bilinen iş ortakları, düzenleyici kurumlar, yükleniciler ve tedarikçilerden gelen işletmeler arası aktarımlar, yapılandırma içe aktarımları ve sistemler arası veri yükleridir. Bu görünürdeki meşruiyet, tam da web yüklemelerine uygulanan denetimlerden kaçınmalarının sebebidir.
XML, pek çok sektörün işleyişinin ayrılmaz bir parçasıdır:
- Finansal hizmetler: SWIFT mesajları, FIX (Financial Information eXchange) talimatları ve ISO 20022 ödemeleri, hepsi XML biçimindedir.
- Sağlık Hizmetleri: Standart sağlık verisi alışverişi protokolleri olan HL7 (Health Level Seven) ve FHIR (Fast Healthcare Interoperability Resources), XML tabanlıdır. FHIR veri yükündeki kötü niyetli bir öğe, yapıyı kontrol eden ancak DOCTYPE’ı kontrol etmeyen herhangi bir sistemden geçebilir.
- Kurumsal BT: Kimlik ve Tek Oturum Açma (SSO) platformları, entegrasyon, geçiş ve sistemlere dahil etme süreçleri sırasında XML yapılandırma dosyalarını alır. Tek bir içe aktarma işlemi, platformun kimlik doğrulamasını yaptığı tüm uygulamalara ulaşabilir.
- OT: SCADA ve enerji yönetim sistemleri, genellikle kontrol mekanizmalarının asgari düzeyde olduğu BT/OT sınırları arasında, IEC 61968 ve 61970 standartlarında tanımlanan XML formatlarında veri alışverişi yapar.
Her durumda, yük bir komut dosyası veya makro değildir; bunun yerine XML’in içerik katmanında bulunur: yerel bir dosya yoluna veya dahili bir uç noktaya işaret eden harici bir varlığa atıfta bulunan bir DOCTYPE bildirimi. Ayrıştırıcı dosyayı işlediğinde, bu içeriği alır.
Dosya, şema denetimi açısından yapısal olarak geçerli olsa da, içeriğinin daha kapsamlı bir temizleme işlemine tabi tutulması gerekmektedir; örneğin, DOCTYPE’ın neyi tanımladığı veya varlığın nereye işaret ettiği gibi hususlar.
Bu, Geçmişten Kalma Bir Sorun Değildir
XXE, 2003 yılında tanımlanmış ve 2017’de OWASP Top 10 listesine eklenmiştir; bu durum, ekiplerin bazen bu sorunu çözülmüş olarak değerlendirmesine yol açmaktadır. 2025 ve 2026 kayıtları ise bunun aksini göstermektedir; dosya güvenliği açısından önemli olan durumlar, yükün bir dosya olarak ulaştığı vakalardır.
- lxml (CVE-2026-41066): Yaygın olarak kullanılan bir Python XML kütüphanesindeki varsayılan ayrıştırıcı yapılandırması, güvenilir olmayan XML'lerin yerel dosyaları okumasına olanak tanıyordu. lxml, svglib'in SVG (Ölçeklenebilir Vektör Grafikleri) dosyalarını ayrıştırmak için kullandığı kütüphaneyle aynıdır; bu durum, 2024 SVG XXE blog yazısında gösterilen OPSWAT dosyasındaki yol aracılığıyla ortaya çıkmıştır. Dosyanın temizlenmesi, ayrıştırıcı bunu görmeden önce ilgili varlık öğesini ortadan kaldırır.
- Atlassian Crowd (CVE-2026-21569, CVSS 7,9 Yüksek): Bir SSO ve kimlik platformu. Özel olarak hazırlanmış bir XML yükü, saldırgana yerel veya uzaktan dosya erişimi sağlar; CVSS Kapsam:Değiştirildi derecelendirmesi ise, başarılı bir istismarın Crowd’un kimlik doğrulaması yaptığı her uygulamaya ulaşacağı anlamına gelir. XML, bir iş ortağı veya yönetici iş istasyonundan yapılandırma ya da entegrasyon içe aktarımı olarak gelir.
- IBM Business Automation Workflow (CVE-2025-13096, CVSS 7.1 Yüksek): IBM BAW, kredi oluşturma ve hasar taleplerinin işlenmesi gibi iş akışlarında XML’i işler. Bu güvenlik açığı, dosya sızmasına ve SSRF’ye (Server-Side Request Forgery) yol açarak bir saldırganın dahili uç noktalara erişmesine imkân tanır; ayrıca aynı DOCTYPE yapısı, DoS (Hizmet Reddi) saldırısı için varlık genişlemesine neden olabilir. XML verileri, hasar eksperleri, düzenleyici kurumlar ve entegratörlerden iş ortağı portalları aracılığıyla gelir.
Hepsi tek bir ortak şeye işaret ediyor: DOCTYPE veri yükünü taşıyan, güvenilir bir iş XML dosyası; bu dosya, güvenlik açığı bulunan bir ayrıştırıcıya ulaşmadan önce belirlenmiş bir iş akışı yoluyla geliyor.
Bir kapsam notu: Bu blog yazısı, dosya olarak gelen XXE saldırılarını ele almaktadır. Temizleme iş akışından geçen XML ve SVG, XFA içeren PDF ve Office dosyaları gibi XML tabanlı formatlar, temiz bir şekilde yeniden oluşturulur. Dosya yoluyla bulaşan vakalar en yaygın olanlardır: dosya yüklemeleri, yapılandırma içe aktarmaları, iş ortağı veri alışverişi ve e-posta ekleri. Ham bir API istek gövdesi veya kod içi ayrıştırma çağrısı yoluyla ulaşılan XXE'de aktarım sırasında dosya bulunmadığından, bu yolda bir dosya temizleme ağ geçidi yer almaz.
Deep CDR™ Teknolojisi Bağımsız XML Dosyalarını Nasıl İşler?
Deep CDR™ Teknolojisi, aynı motor altında XML 1.0 ve 1.1’in yanı sıra ZEI, JNLP, TDS, RDF, BML, MPD ve TTML gibi ilgili XML tabanlı formatları da destekler.
XML dosyaları için, belgenin dışına yönelen referanslar varsayılan olarak reddedilir ve DOCTYPE ile buna ait harici varlık referansları, yeniden oluşturulan dosyada yer almaz. Bu iki davranış da, tespit edilip ayarlanması gereken bir politika değildir. Harici XML, MetaDefender Core™’daki temizleme iş akışından geçirildiği sürece, koruma geçerlidir.

Bu varsayılan DOCTYPE kaldırma işleminin yanı sıra, operatörlerin kendi ortamlarına uyacak şekilde yapılandırabilecekleri ek denetimler de bulunmaktadır

- Makroyu Kaldır: XML tabanlı Office formatlarında kodlanmış VBA makrolarını temizler
- CDATA'yı Kaldır: "Hiçbir şey yapma"dan "Hepsini kaldır"a kadar dört kademeli politika seçeneği; bu seçenekler, ekiplere iş akışının hassasiyetine bağlı olarak CDATA bölümlerinin ne kadar sıkı bir şekilde işleneceği konusunda kontrol sağlar
- Enjeksiyonu Kaldır: XML enjeksiyonunu ve öğe değerlerine gömülü içerik katmanı JavaScript’lerini ele alır
- Base64 ile kodlanmış verileri işleme: XML değerlerine gömülü, veri URL şeması kalıpları da dahil olmak üzere kodlanmış yükleri işler


Buna bağlı bir koruma önlemi, aynı yönün diğer tarafını da kapsar. Belleği tamamen doldurana kadar genişlemeye yönelik olarak yazılmış yapılar tespit edilip kaldırılır; böylece küçük bir dosya, işleme sürecinde devasa bir dosya haline gelemez. İşte bu nedenle bu tür durumlara “XML Bomb” (veya “Billion Laughs”) adı verilmektedir.

Her temizleme işlemi, adli bir JSON raporunda kaydedilir. Rapor, nesne adını, kaldırılan içeriği (giriş başına en fazla 5.000 karakter) ve kaldırılan nesnenin SHA-256 hash değerini içerir. Güvenlik ekipleri, orijinal dosyayı yeniden incelemek zorunda kalmadan uyumluluk değerlendirmesi ve olayın yeniden canlandırılması için eksiksiz bir denetim izine sahip olurlar.
XML enjeksiyonu, CDATA enjeksiyonu, XML bombaları ve ilgili XML saldırı mekanizmalarına dair kapsamlı bir açıklama için XML belge saldırı vektörleri hakkındaki teknik derinlemesine incelememize.
XML Dosya İş Akışlarınızı Koruyun
Güvenilir bir ayrıştırıcı, kötü amaçlı bir XML dosyasıyla karşılaştığında, dosya galip gelir. Apache Tika, Atlassian Crowd, IBM BAW ve SVG ayrıştırma yolu, belge iş akışlarında, kimlik platformlarında ve iş akışı motorlarında bu gerçeği kanıtlamaktadır.
Bu dosyalar tehdit olarak değerlendirilmez. Bilinen iş akışları aracılığıyla tanınmış iş ortaklarından gelirler ve meşru içerik barındırırlar; işte bu da onları etkili kılan unsurdur. Çözüm, bir CVE’den diğerine değişmez: aktarım katmanında dosyayı durdurun, dosya ayrıştırıcıya ulaşmadan önce temizleyin ve korumanın yalnızca e-posta ekleri ve web yüklemelerini değil, harici XML veri dosyalarını da kapsadığından emin olun.

