Ne oldu?
Microsoft, 25 Ekim 2026’da olağan güncelleme takvimi dışında .NET güvenlik yamaları yayımladı. Takvim dışı yama, üreticinin konuyu bir sonraki aylık güncelleme dönemine bırakmadığı anlamına geliyor.
Güncellemeler, Brotli veri açma işlemindeki CVE-2026-111497 numaralı açığı gideriyor. Microsoft’un açıklamasına göre bellek taşması, kimlik doğrulaması yapmamış bir saldırganın süreç belleğini okumasına veya bozmasına yol açabiliyor.
Olası sonuçlar bilgi sızıntısı, hizmet kesintisi veya yetki yükseltme olarak belirtiliyor. Bu nedenle konu, yalnızca bir uygulamanın kapanmasıyla sınırlı değerlendirilmemeli.
Açık, sunucunun dışarıdan gelen bir isteği karşılaması için kullanıcı adı ya da parola istemiyor. Yani “yetkili kullanıcı gerekiyor” ifadesi, çoğu kurum için rahatlatıcı bir cevap değil.
Hangi uygulamalar etkilenebilir?
Risk, uygulamanın Brotli ile sıkıştırılmış veriyi işlemesine bağlı.
Microsoft şu kullanım biçimlerini belirtiyor:
- ASP.NET Core üzerinden gelen isteklerin Brotli ile açılması.
- HttpClient üzerinden alınan yanıtların otomatik olarak açılması.
- System.IO.Compression içindeki Brotli API’lerinin doğrudan kullanılması.
İstek açma ve otomatik yanıt açma özellikleri varsayılan olarak etkin değil. Ancak uygulama veya kullanılan bir kütüphane bunları etkinleştirmiş olabilir.
Bu ayrım, envanterin nasıl kurulacağını belirliyor. Sunucuda .NET kurulu olması tek başına risk göstergesi değil; riski belirleyen şey uygulamanın gelen içeriği Brotli ile açıp açmadığı. Aynı sunucuda çalışan iki uygulamadan biri etkilenirken diğeri etkilenmeyebilir.
.NET Framework bu açıktan etkilenmiyor. Buna karşılık bir sunucuda .NET bulunması veya bulunmaması üzerinden tek başına karar vermek yeterli değil; uygulamanın kullandığı bileşenler incelenmeli.
Hangi sürümlere geçilmeli?
Microsoft’un 25 Ekim duyurusunda şu güncellemeler yer alıyor:
- .NET 8: 8.0.33
- .NET 9: 9.0.22
- .NET 10: 10.0.14
- .NET 11 RC2 kullanıcıları: Release Candidate 3
Uygulamanın hedeflediği sürüm dalına uygun güncellemeyi uygulayın. Tek bir “en yeni sürüm” hedeflemek yerine, uygulamanın gerçekten hangi dalda çalıştığını esas alın.
.NET 11 Release Candidate 3 bir ön sürümdür. Bu bilgi, üretim uygulamalarını yeni bir ön sürüme taşıma önerisi değildir; mevcut RC2 kullanıcılarının düzeltmeyi alması için verilen sürüm bilgisidir.
Sürüm numarasını görmek, düzeltmenin uygulandığını göstermez. Aynı numaraya sahip iki kurulumdan biri aylardır güncellenmemiş olabilir; doğrulama paketin kaynağına ve kurulum tarihine bakmayı gerektirir.
Ne yapmalısınız?
- Brotli verisi işleyen uygulamaları ve kullanılan .NET sürümlerini belirleyin.
- Sunucudaki ortak çalışma ortamını kullanan uygulamalar için uygun runtime güncellemesini kurun ve uygulamayı yeniden başlatın.
- Kendi runtime’ını içeren uygulamaları güncel runtime ile yeniden derleyip yayımlayın.
- Konteynerleri güncellenmiş .NET imajlarıyla yeniden oluşturup dağıtın.
- Test ve derleme ortamlarının da güncel bileşenleri kullandığını kontrol edin.
- Yedekleme, raporlama ve entegrasyon gibi arka planda çalışan küçük uygulamaları da listeye alın; envanterde en çok bunlar atlanır.
- Dağıtım sonrasında uygulamanın kullandığı gerçek runtime sürümünü doğrulayın.
Yalnızca sunucuya yeni bir runtime kurmak, çalışma ortamını kendi içinde taşıyan uygulamaları güncellemez.
Aynı şekilde, güncellemeyi kurup uygulamayı yeniden başlatmamak da düzeltmenin devreye girmediği bir durumdur: çalışan süreç, eski bileşeni bellekte tutmaya devam edebilir.
Asıl mesele
Bir sunucuda birden fazla uygulama, farklı .NET sürümleri ve farklı dağıtım yöntemleri bulunabilir.
Bu nedenle “sunucu güncel” bilgisiyle “uygulama düzeltmeyi kullanıyor” bilgisi aynı şey değildir.
Bir yama paketinin yayımlanması, etkilenen uygulamaların güncellendiği anlamına gelmez. Aradaki mesafeyi kapatan şey envanter, dağıtım ve doğrulama adımlarıdır.
Güvenlik ekibiyle uygulama ekibinin aynı kayıt üzerinde buluşması gerekir: Hangi uygulama etkilendi, nasıl güncellendi, ne zaman dağıtıldı ve kullanılan sürüm nasıl doğrulandı?
Yamanın tamamlandığını gösteren cevap, yalnızca kurulum ekranında değil, çalışan uygulamadadır.