.NET Brotli Açığı: 8, 9, 10 ve 11 İçin OOB Yama
Microsoft, aylık planlı servis takviminin dışında (out-of-band) bir güvenlik güncellemesi yayımladı. Güncelleme.NET 8,.NET 9,.NET 10 ve.NET 11 Release Candidate 3’ü kapsıyor; ekibin tavsiyesi mümkün olan en kısa sürede güncellemek. Kapatılan açıklar, etkilenen uygulama tipleri ve ortamı güncellemek için izlenecek adımlar aşağıda.
Bu sürümde kapatılan açıklar
Sürümün merkezinde Brotli sıkıştırma çözme algoritmasıyla ilgili bir açık var. Yanında, Linux tarafındaki tarball dosya sahipliği sorunu da giderildi.
| CVE | Açıklama | Etkilenen platformlar |
|---|---|---|
| CVE-2026-111497 | .NET’in Brotli decompression kullanımında buffer overflow açığı. Kimliği doğrulanmamış bir saldırgan süreç belleğini okuyabilir ya da bozabilir; sonucu bilgi ifşası, hizmet dışı bırakma (DoS) veya yetki yükseltme olabilir. | Tüm platformlar |
| CVE-2026-114148 | Etkilenen.NET tarball paketlerindeki güvensiz sahiplik (ownership) metadatası, yerel bir saldırganın dosyaları değiştirip yetki yükseltmesine yol açabilir. | Linux |
Brotli açığı kimleri ilgilendiriyor
Uygulama, Brotli ile sıkıştırılmış veriyi şu yollardan biriyle işliyorsa etkilenebilir:
- ASP.NET Core request decompression middleware’i üzerinden gelen istek gövdeleri açılıyorsa,
- HttpClient tarafında otomatik yanıt açma (
AutomaticDecompression) devredeyse, - System.IO.Compression içindeki Brotli API’leri doğrudan kullanılıyorsa.
İstek gövdesi açma da otomatik yanıt açma da varsayılan olarak etkin değil, yani bu özellikleri açıkça etkinleştirmediyseniz ilgili yüzey kendiliğinden açılmış olmuyor. System.IO.Compression Brotli API’lerini doğrudan çağıran kod yolları ise bu değerlendirmenin dışında kalıyor..NET Framework bu açıktan etkilenmiyor.
Tarball sahipliği sorununun kapsamı sürüme göre değişiyor
CVE-2026-114148’in etki alanı her sürümde aynı değil:
- .NET 10 ve.NET 11 tarafında yalnızca source-build tarball paketleri etkileniyor.
- .NET 8 ve.NET 9’da buna ek olarak ASP.NET Core tarball’ları üzerinden edinilen ASP.NET Core dağıtımları da etkileniyor..NET’i kaynaktan derlemeyen, sadece ASP.NET Core tarball’ı indirip kuran kullanıcılar da bu kapsamda.
Yeniden yayımlanan iki danışma belgesi
Bu OOB sürümüyle birlikte iki danışma belgesi (advisory) yeniden yayımlandı; 13 Ekim 2026 sürümü bu sorunları tam olarak gidermemişti:
- CVE-2026-70197: SocketAsyncEventArgs bellek bozulması,.NET 8, 9, 10 ve 11 için geçerli.
- CVE-2026-102870: Blazor WebAssembly debugger,.NET 10 ve 11 için geçerli.
Her iki sorunun gerçek düzeltmeleri bugünkü güncellemelerle geliyor. Ekim ayındaki düzenli servis sürümünü kurmuş olmak bu iki CVE için koruma sağlamıyor, yeni paketlerin kurulması gerekiyor.
Güncel sürüm numaraları
| .NET sürümü | Güncelleme |
|---|---|
| .NET 8 | 8.0.33 |
| .NET 9 | 9.0.22 |
| .NET 10 | 10.0.14 |
| .NET 11 | Release Candidate 3 |
.NET 11 RC2 kullanıyorsanız bu düzeltmeleri almak için RC3’e geçmeniz gerekiyor.
Uygulamaları ve build ortamlarını güncelleme
Yapılacaklar dağıtım modeline göre değişiyor:
- Framework-dependent uygulamalarda, uygulamanın hedeflediği.NET sürümü için güncellenmiş runtime’ı kurun, ardından uygulamayı yeniden başlatın.
- Self-contained uygulamaları güncellenmiş runtime ile yeniden derleyip yeniden yayımlayın. Host makineye yeni bir runtime kurmak, uygulamanın içinde paketlenmiş runtime’ı güncellemiyor.
- Container’ları güncellenmiş.NET container imajlarıyla yeniden derleyip yeniden dağıtın.
- Source-build kullanıyorsanız kendi.NET sürümünüz için güncellenmiş source-build çıktılarını edinin, tarball sahiplik düzeltmesini almak için paketlerinizi yeniden derleyin.
- .NET 8 ve.NET 9’da ASP.NET Core tarball kullananlar, kurulumu ilgili sürümün yenilenmiş ASP.NET Core Runtime tarball’ı ile güncellesin. Bu adım,.NET kaynaktan derlenmese bile geçerli.
Bir makinede kurulu runtime’ları listelemek için:
dotnet --list-runtimes
Framework-dependent dağıtımlarda yukarıdaki tabloda listelenen güncel runtime’ın kurulu olduğunu doğrulayın. Self-contained uygulamalarla container dağıtımları ayrı kontrol ister, çünkü kendi runtime’larını taşırlar ve host üzerindeki listeye yansımazlar.
Pratikte nasıl ilerlenir
Sıra şöyle kurulabilir: ortamdaki.NET sürümlerini dotnet --list-runtimes ile envanterleyin, framework-dependent servisler için runtime güncellemesini uygulayın, paralelde self-contained publish çıktıları ve container imajları için yeniden derleme–yeniden dağıtım hattını tetikleyin. Linux tarafında kurulumu tarball ile yapan makineleri ayrı bir listede takip edin. Düzeltmeyi kaçırmaya en yatkın grup,.NET 8 ve.NET 9’da ASP.NET Core tarball’ı kullananlar.
Güncelleme sonrası bir sorunla karşılaşırsanız.NET ekibi geri bildirimlerin release feedback issue’ları üzerinden iletilmesini istiyor. Açıkların teknik ayrıntıları ve etkilenen ürün listeleri MSRC danışma sayfalarında.
Kaynaklar ve İleri Okuma
- .NET October 2026 Out-of-Band Security Updates —.NET Blog (Rahul Bhandari, MSFT)
- MSRC: CVE-2026-111497 (Brotli decompression)
- MSRC: CVE-2026-114148 (Linux.NET tarball ownership)
- MSRC: CVE-2026-70197 (SocketAsyncEventArgs memory corruption)
- MSRC: CVE-2026-102870 (Blazor WebAssembly debugger)
- RFC 7932: Brotli Compressed Data Format
- ASP.NET Core request decompression middleware dokümantasyonu
- HttpClientHandler.AutomaticDecompression API referansı
- .NET 8 SDK ve Runtime indirmeleri
- .NET 9 SDK ve Runtime indirmeleri
- .NET 10 SDK ve Runtime indirmeleri
- .NET 11 SDK ve Runtime indirmeleri
- Microsoft Artifact Registry:.NET container imajları
- .NET Ekim 2026 Güncellemeleri: CVE Listeleri ve Sürümler







Yorum gönder