Telerik UI açığı zincirleme istismara açıldı: Public exploit yayımlandı

Anasayfa » Telerik UI açığı zincirleme istismara açıldı: Public exploit yayımlandı
Telerik UI açığı zincirleme istismara açıldı: Public exploit yayımlandı

Telerik UI for ASP.NET AJAX kullanan uygulamalarda, doğrulama gerektirmeyen uzaktan kod çalıştırmaya kadar uzanan bir açık zinciri kamuya açıldı. Güvenlik firması TantoSec, 7 Eylül’de yayımladığı çalışma ile Progress Software’in Temmuz ayında yamaladığı hataları birleştiren işleyen bir exploit zinciri, komut satırı aracı ve iki yük dosyası paylaştı. Şirketin aktardığı yöntemin, korumasız kurulumlarda sunucuda doğrudan kod çalıştırabildiği belirtiliyor.

İlgili zincir, RadAsyncUpload dosya yükleme bileşenini kullanan ve özel yapılandırma ile çalışan sistemleri hedefliyor. Progress’in açıklamasına göre etkilenen sürümler 2010.1.309 ile 2026.2.519 arasında yer alıyor; 2026.2.708 ve sonrası ise düzeltilmiş durumda. Şirket yamayı 8 Temmuz’da yayınladı, CVE kayıtları ve güvenlik duyurusu ise 22 Temmuz’da geldi. TantoSec ise yöntem ve araçları 7 Eylül’de ayrıntılandırdı.

Progress’in bülteninde yer alan bilgilere göre zincir, yalnızca varsayılan kurulumlarda değil, belirli ön koşullar sağlandığında çalışıyor. Ancak bu koşullar bir kez oluştuğunda, saldırganın elde ettiği sonuç IIS uygulama havuzunun yetkileriyle uzaktan kod çalıştırma oluyor. Bu nedenle zincirin kamuya açık hale gelmesi, saldırı yolunun baştan sona görülebilir olmasını sağladı.

Oracle tekniği, sahte konfigürasyon ve DLL yükleme

TantoSec araştırmacısı Marcio Almeida, zincirin tamamını adım adım anlattı ve telerik-rau-exploit adlı komut satırı aracını kamuya sundu. Paylaşılan paket içinde iki mixed-mode DLL yükü de yer aldı: biri web shell’i diske yazıyor, diğeri tamamen bellek içinde çalışıyor. Çalışmada, aynı bileşen üzerinde farklı saldırı yollarını göstermek için bu iki yükün hazırlandığı belirtildi. Almeida, zamanlama tabanlı varyant için meslektaşı Justin Steven’ın katkısını da öne çıkardı.

Zincirin en kritik halkası, CVE-2026-13181 olarak izlenen tip çözümleme kusuru. Progress bu açığa 8,1 CVSS puanı verdi ve saldırı karmaşıklığını “yüksek” olarak sınıflandırdı. Bu etiket, sömürünün zor olmasından değil, zincirin çalışması için gereken yapılandırma koşullarından kaynaklanıyor. TantoSec’in bulgularına göre saldırganın önce sahte veriyi oluşturabilmesi için belirli ön koşulların oluşması gerekiyor.

Bu ön koşullar varsayılan kurulumda bulunmuyor. Bir sayfanın RadAsyncUpload kontrolünü render etmesi, sunucu tarafındaki işleyicinin yükleme sonucunu okuması ve uygulamanın kontrol için varsayılan olmayan bir şifreleme anahtarı kullanması gerekiyor. Telerik’in sertleştirme amacıyla önerdiği bu özel anahtar, zincirin çalışması için kritik bir unsur haline geliyor. Bu iki koşuldan biri eksikse, saldırı yolu çalışmıyor. TantoSec, zincirin varsayılan kurulumda bulunmayan bu ön koşullar nedeniyle hemen her etkiye açık olmadığını aktardı.

Koşullar sağlandığında saldırgan IIS uygulama havuzunun yetkileriyle kod çalıştırabiliyor. Başlangıç noktası bir padding oracle açığı olan CVE-2026-13182. Bileşen, istemci tarafı durum bilgisini AES-CBC ile ve bütünlük kontrolü olmadan şifrelediği için, sunucu bozulmuş veriye verdiği farklı yanıtlarla saldırgana ipucu veriyor. Şifre çözme sırasında padding doğruysa sunucunun tepkisi, JSON ayrıştırma hatası alınan durumdan ayrılıyor. Bu fark, saldırganın anahtarı bilmeden şifreli yükleme yapılandırmasını çözmesine ve ardından aynı teknikle yeniden üretmesine kapı açıyor.

TantoSec, bileşenin sabit şifreleme tohumu etrafında geliştirdiği yöntemle bu yapılandırmayı yeniden oluşturduğunu belirtiyor. Elde edilen sahte yapılandırma ile saldırgan, kontrolün çözümleyeceği .NET türünü seçebiliyor. Burada bir allowlist bulunmadığı için CVE-2026-13181 devreye giriyor; bileşen seçilen türü deserializasyon sürecine sokuyor ve saldırganın denetimindeki bir konumdan DLL yüklüyor. Bu aşama, kod çalıştırmayı saldırganın kontrol ettiği dosyaya bağlıyor.

Yüklenen DLL, yüklendiği anda yerel kod çalıştıran mixed-mode bir assembly olarak tasarlanmış. TantoSec’in uçtan uca denemesinde yaklaşık 127 bin oracle isteği kullanıldı. Bu sayı laboratuvar ortamında yaklaşık bir saate karşılık geliyor; hız sınırlaması uygulanan bir sunucuda süre daha da uzuyor. Böylece saldırı, teknik olarak otomatikleştirilebilir hale gelirken, işlem maliyeti ağ koşullarına göre değişiyor. Araştırmacılar, saldırının tek adımda değil, çok sayıda oracle sorgusuyla ilerlediğini gösterdi.

Uygulama ayrıntılı hata mesajlarını gizliyorsa, aynı oracle bu kez yanıt süreleri üzerinden okunabiliyor. Bu varyant CVE-2026-13183 olarak izleniyor. TantoSec, zamanlama farklarını kullanarak sunucunun davranışını ayırt edebildiğini ve zincirin bu şekilde de kurulabildiğini aktardı. Şirket, hata mesajlarının kapalı olduğu yapılarda bile yanıt süresinin saldırı sinyali verebildiğini söyledi.

Yama, geçici önlemler ve iz bırakmadan çalışan saldırı

Progress, 2026.2.708 sürümünü ve sonrasını güvenli kabul ediyor. Şirket, bu sürümde kusurlu AES-CBC yaklaşımının yerini kimliği doğrulanmış şifreleme aldığını ve saldırı zincirinin tamamının kapatıldığını söylüyor. Progress ayrıca daha güçlü özel anahtar kullanmanın tek başına çözüm olmadığını, çünkü oracle tekniğinin anahtarı ele geçirmeden de işlediğini vurguluyor. Buna göre sorun, anahtarın zayıflığından çok doğrulama eksikliğinde yatıyor.

Yükseltme hemen yapılamıyorsa şirket birkaç geçici adım öneriyor. customErrors ayarının RemoteOnly ya da On yapılması, saldırganı daha yavaş çalışan zamanlama tabanlı varyanta zorlayabiliyor. RadAsyncUpload gerekli değilse Telerik.Web.DisableAsyncUploadHandler değerinin true yapılması da saldırı yüzeyini kapatıyor. Ayrıca özel şifreleme anahtarının kaldırılması, kontrolün ASP.NET machine key ile AES ve HMAC kullanmasına yol açıyor; ileride anahtar üretilecekse bunun çalışma anında değil, güçlü değerlerle manuel yapılması gerekiyor. Progress, custom key kullanmanın bu zinciri durdurmadığını da ayrı notla belirtiyor.

Progress’in uyarısına göre başarılı bir istismar, standart ASP.NET hata günlüklerinde belirgin bir iz bırakmıyor. Bu nedenle savunma tarafının davranış odaklı arama yapması gerekiyor. Şirket, IIS worker process’in w3wp.exe üzerinden cmd.exe başlatmasını, web kök dizininde yeni ya da beklenmedik bir .aspx dosyasını ve yükleme kontrolünün geçici klasörü ya da App_Data altında oluşan mixed-mode DLL’leri inceleme konusu olarak sıraladı. Bu işaretler, hata kaydı yerine süreç ve dosya davranışına bakmayı gerektiriyor.

Bugüne kadar 2026 serisi hataların sahada kullanıldığına dair doğrulanmış bir rapor yok. CISA’nın Known Exploited Vulnerabilities kataloğunda da 7 Eylül itibarıyla bu açıklar yer almıyor. Buna karşın saldırı yüzeyi yönetimi yapan IONIX, sitesinde devam eden istismar girişimlerini izlediğini yazıyor; ancak tarih, hacim ya da bu girişimlerin gerçek istismar mı yoksa sıradan internet taraması mı olduğuna dair ayrıntı paylaşmıyor. Şirket, izlemekte olduğunu söylüyor fakat bunu sayısal verilerle desteklemiyor.

Telerik tarafındaki işleyicinin geçmişi ise uzun süredir saldırganların ilgisini çekiyor. Aynı handler’daki 2019 tarihli bir deserialization açığı olan CVE-2019-18935, 2017’deki bir şifreleme zayıflığıyla zincirlenmiş ve fidye yazılımı gruplarıyla devlet destekli aktörler tarafından kullanılmıştı. Bu zincir, 2022’de bir ABD federal kurumuna yönelik ihlalde de yer aldı ve 2025’e kadar istismar edilmeye devam etti. Güvenlik ekiplerinin yeni hatalara bu kadar dikkat kesilmesinin nedeni de bu geçmiş oldu.

Temmuz ayında yayımlanan Progress bülteninde aslında iki ayrı saldırı zinciri yer alıyordu. TantoSec’in ayrıntılandırdığı RadAsyncUpload zincirine ek olarak, RadPersistenceManager ve RadDockLayout bileşenlerini etkileyen ayrı bir uzaktan kod çalıştırma zinciri daha tanımlandı. CVE-2026-13185, CVE-2026-13186 ve CVE-2026-13190 numaralarıyla izlenen bu ikinci zincir CODE WHITE’den Markus Wulftange ve Progress’e atfediliyor. Ancak bu yol için kamuya açık bir exploit paylaşılmış değil.

RadAsyncUpload tarafında ayrıca varsayılan anahtarın öngörülebilir olduğu bir başka hata da yer alıyor. CVE-2026-13184 olarak izlenen bu sorun, yayımlanan gösterim sırasında kullanılmayan alternatif bir saldırı moduna ait. Almeida, zamanlama tabanlı varyant için çalışmada meslektaşı Justin Steven’ın katkısını da öne çıkardı. TantoSec, açıkları 22 Mayıs’ta Progress’e bildirdi; yamalar 8 Temmuz’da yayımlandı, CVE kayıtları ise 22 Temmuz’da duyuruldu. Böylece hem teknik ayrıntılar hem de zaman çizelgesi, kamuya açık exploit paketinin içinde bir araya geldi.