Microsoft’un Rust Tabanlı Grafik Aygıt Arayüzü (GDI) çekirdek bileşeninde yeni keşfedilen bir kusur, ayrıcalığı olmayan saldırganların Windows sistemlerini çökertmesine veya denetimini ele geçirmesine olanak tanıyor.
Check Point Research (CPR), sorunu Ocak 2025’te ortaya çıkardı ve Microsoft’a bildirdi. Şirket, 28 Mayıs 2025 KB5058499 önizleme güncellemesinde (OS Build 26100.4202) hatayı giderdi ve Haziran sonuna kadar tam kullanıma sunuldu.
CPR’nin araştırması, Windows meta dosyalarına odaklanan bulanık bir kampanyayla başladı. Fuzzing, zayıflıkları keşfetmek için yazılıma rastgele veya hatalı biçimlendirilmiş veriler enjekte eder.
Ekip, orta ölçekli bulanıklaştırma işlerini yönetmek için WinAFL Pet’i ve çökmeleri analiz etmek için BugId’i kullandı. Geliştirilmiş Meta Dosya Formatı’nı (EMF) ve GDI işlevleri için çizim talimatlarını içeren EMF+ varyantını hedef aldılar.
İlk testler kullanıcı alanında çökmelere ve bellek sızıntılarına neden oldu, ancak bir hafta sonra test makineleri çekirdek BugCheck nedeniyle beklenmedik bir şekilde yeniden başlatıldı.


Müfettişler daha sonra bellek dökümlerini yakalamaya ve MemProcFS kullanarak mutasyona uğramış çekirdek dosyalarını RAM disklerden çıkarmaya yöneldi.
Bu örnekleri tek örnekli bir fuzz kurulumunda tekrar oynatarak, 836 tohum dosyasındaki yaklaşık 380.000 mutasyonun ardından çökmeyi 30 dakikadan kısa bir sürede tutarlı bir şekilde yeniden üretebildiler.
Kilitlenme, NtGdiSelectClipPath sistem çağrısı sırasında yeni Rust tabanlı win32kbase_rs.sys sürücüsünde meydana geldi.
Hatalı biçimlendirilmiş yol verileri sınırların dışında dizi erişimine yol açtığında, Region_from_path_mut() işlevindeki sınır denetimi başarısız oldu.
Arızalı mantık, EMF+ Bezier eğrisi kayıtlarının dört nokta bildirip on yedi nokta sunması ve kenar blok listelerinin taşmasına neden olmasıyla ortaya çıktı. Bir panik_bounds_check() çağrısı, Mavi Ölüm Ekranını (BSOD) tetikledi.
CPR, zararsız çizim görevlerine yönelik işlevler olan Graphics::FromImage() ve DrawImage() aracılığıyla özel hazırlanmış bir meta dosyası yükleyen, kavram kanıtlayıcı bir PowerShell betiği geliştirdi.
Bir saldırgan, bütünlüğü düşük bir hesaptan kuruluştaki masaüstü bilgisayarları veya sunucuları tekrar tekrar çökertebilir, bu da potansiyel olarak veri kaybına ve operasyonel kesintilere neden olabilir.
Microsoft’un Düzeltme ve Güvenlik Değerlendirmesi
Microsoft, kusuru orta önemde “hizmet reddi” olarak sınıflandırdı ve Haziran 2025’te güvenlikle ilgili olmayan güncellemelerle düzeltti.
win32kbase_rs.sys dosya boyutlarının analizi, 148 KB’den 164 KB’ye bir artış gösterdi; bu da sınır kontrollerinin sıkılaştırıldığını gösteriyor.
Güncelleme, güvenli yolu seçmek için çalışma zamanı özellik işaretleriyle birlikte add_edge_original() ve add_edge_new() ikili kenar işleme rutinlerini tanıttı. Yama önizlemede mevcut olmasına rağmen bayrak üretime kadar devre dışı kaldı.
Güvenlik araştırmacıları, BSOD’ye yol açan, kullanıcı tarafından kontrol edilen herhangi bir girdinin bir güvenlik açığı olarak değerlendirilmesi gerektiğini savunuyor.
Bu durumda, Rust’un bellek güvenliği sessiz veri bozulmasını önledi ancak varsayılan olarak bir çökmeye yol açtı. Daha sağlam bir tasarım, tüm sistemi durdurmadan sınır dışı durumu zarif bir şekilde ele alacaktır.
Bu olay muhtemelen Windows’un Rust çekirdek modüllerindeki ilk kamu güvenliği açığıdır. Rust’un güçlü güvenlik garantileri sağlamasına rağmen dil seçiminin tek başına sıkı test ve tasarım ilkelerinin yerini alamayacağının altını çiziyor.
Davetsiz misafirleri durdurmak için evi yıkan ev alarmı metaforu, yıkıcı yan etkileri olmayan tehditleri içeren güvenlik önlemlerine olan ihtiyacın altını çiziyor.
Kritik sistemlere daha fazla Rust kodu entegre edildikçe, geliştiricilerin olağanüstü yüksek mühendislik standartlarını korumaları ve ölçekte kesintileri önlemek için ince uç durumları öngörmeleri gerekiyor.
Anında Güncellemeler Almak ve GBH’yi Google’da Tercih Edilen Kaynak Olarak Ayarlamak için bizi Google Haberler, LinkedIn ve X’te takip edin.