.NET ve .NET Framework Nisan 2026 Güvenlik Yamaları
Bakın, her ay Microsoft’un.NET tarafında güvenlik yamaları yayınlaması artık neredeyse rutin bir şey gibi hissettiriyor. Ama bu sefer biraz durup bakmak lazım (ben de ilk duyduğumda şaşırmıştım). Nisan 2026 güncellemesinde 6 farklı CVE kapatıldı — bunlardan ikisi Remote Code Execution kategorisinde. Yanı “aman canım, sadece servis güncellemesi” deyip geçecek bir durum neredeyse kesinlikle değil bu.
Geçen hafta Logosoft’ta bir finans kuruluşunun.NET altyapısını yönetirken tam da bu yamalarla boğuştuk. Müşteri.NET Framework 4.8.1 üzerinde koşan can alıcı bir ödeme servisine sahipti. CVE-2026-32178 direkt onları ilgilendiriyordu. Remote Code Execution… E tabi, bankacılıkta bu üç kelimeyi duyunca herkes teyakkuza geçiyor. Ekipte kimse rahat değildi o gün, açıkçası.
Hmm, bunu nasıl anlatsamdı…
Bu yazıda Nisan 2026’nın neler getirdiğini, hangi CVE’lerin gerçekten acil olduğunu. Güncelleme stratejinizi nasıl kurgulamanız gerektiğini kendi deneyimlerimle anlatacağım (buna dikkat edin). Uzun bir yazı olacak, kahvenizi alın.
Bu Ay Kapatılan CVE’ler: Hangisi Gerçekten Kritik?
Yanı, Microsoft bu ay toplam 6 CVE yayınladı. Hepsini bir tabloda toparlayayım, sonra hangilerine öncelik vermeniz gerektiğini konuşuruz: (şaşırtıcı ama gerçek)
| CVE Numarası | Türü | Etkilenen Platformlar |
|---|---|---|
| CVE-2026-32178 | Remote Code Execution | .NET 10.0, 9.0, 8.0 +.NET Framework 2.0, 4.6.2–4.8.1 |
| CVE-2026-33116 | Remote Code Execution | Sadece.NET 10.0, 9.0, 8.0 |
| CVE-2026-26171 | Security Feature Bypass | .NET 10.0, 9.0, 8.0 +.NET Framework 2.0, 4.6.2–4.8.1 |
| CVE-2026-23666 | Denial of Service | Sadece.NET Framework 3.0, 4.6.2–4.8.1 |
| CVE-2026-32203 | Denial of Service | .NET 10.0, 9.0, 8.0 +.NET Framework 2.0, 4.6.2–4.8.1 |
| CVE-2026-32226 | Denial of Service | Sadece.NET Framework 2.0, 4.6.2–4.8.1 |
İtiraf edeyim, Tabloya bakınca ilk iki satır kırmızı bayrak. Peki, neden? Çünkü Remote Code Execution demek, saldırgan sizin sunucunuzda istediği kodu çalıştırabiliyor demek. Nokta.
CVE-2026-32178 özellikle sınır bozucu, çünkü hem modern.NET hem de eski.NET Framework sürümlerini etkiliyor. Yanı hem yeni hem eski altyapınız varsa — ki kurumsal ortamda bu baya yaygın bir durum — iki tarafı da güncellemeniz şart. CVE-2026-33116 işe sadece modern.NET (8, 9, 10) tarafını vuruyor, biraz daha dar kapsamlı. Yine de RCE kategorisinde olduğu için gözardı edemezsiniz.
RCE açıkları için “bekle, test ortamında deneyelim önce” lüksünüz yok. Bu tip güvenlik açıklarında yama çıktığı gün hareket etmeniz gerekir. Saldırganlar CVE yayınlandıktan sonraki 48 saat içinde exploit geliştirmeye başlıyor.
Sürüm Bazında Neler Değişti?
.NET 10.0.6 — Yeni Nesil Güncelleme
Garip gelecek ama,.NET 10 henüz taze, daha Kasım 2025’te çıktı. Ama bakıyorsunuz, 6. servis güncellemesine gelmiş bile. Aslında — hayır dur, daha doğrusu normal bu — yeni çerçevelerde ilk yılda sık güncelleme beklenir, şaşırmamak lazım. 10.0.6 ile gelen değişiklikler sadece güvenlik yamaları değil; ASP.NET Core, Entity Framework Core, Runtime ve WinForms tarafında da bir sürü düzeltme var.
İşin garibi, Bir arkadaşım geçen ay.NET 10’a geçiş yaptı, container tabanlı mikroservis mimarisi kuruyordu. “Stabil mi?” diye sorduğunda “Fena değil ama bazı edge case’lerde beklenmedik davranışlar çıkıyor” demişti. Hmm, işte bu tür güncellemeyle o edge case’lerin bir kısmı da kapanıyor büyük ihtimalle.
.NET 9.0.15 — LTS Yaklaşımı
.NET 9 şu an production ortamlarında en yaygın kullanılan modern sürümlerden biri. 15. servis güncellemesi demek ne? Demek ki baya olgunlaşmış bir sürüm bu. 2024’te bir telecom müşterimizde.NET 8’den 9’a geçiş yapmıştık — o zamandan beri her ay düzenli güncelliyoruz ve ciddi bir sorunla karşılaşmadık açıkçası. Ama bu ay 4 CVE’nın 9.0’ı da etkilediğini görünce, dur bir saniye, hemen test pipeline’ını tetikledik.
.NET 8.0.26 — Hâlâ Güçlü
Yanı,.NET 8, Kasım 2023’ten beri Long Term Support statüsünde ve Kasım 2026’ya kadar destek alacak. Yanı daha 7 ay var ama hâlâ aktif yamalar geliyor. Enterprise müşterilerimizin çoğu hâlâ.NET 8 üzerinde. Bence de acele etmeye gerek yok — stabil, olgun, kanıtlanmış bir platform. Bu arada bu güncellemeyle birlikte sürümde toplam 26 servis güncellemesi yapılmış oluyor, düşününce baya bir yol kat edilmiş.
.NET Framework Tarafı: Eski Ama Hâlâ Canlı
Ha bu arada,.NET Framework tarafını görmezden gelmeyin. Biliyorum, herkes “modern.NET’e geçin” diyor. Geçin tabi. Ama gerçek dünya farklı çalışıyor. 2019’da bir kamu kurumunun projesinde.NET Framework 4.7.2 üzerinde koşan bir sistem vardı — kimse dokunmak istemiyordu,. “çalışıyorsa dokunma” prensibi geçerliydi. Ama işte tam da bu tip sistemler CVE-2026-23666 gibi açıklardan nasibini alıyor.
Bunu biraz açayım.
.NET Framework 2.0’ın hâlâ CVE listesinde görünmesi… Açık konuşayım, bu beni biraz şaşırttı. 2005’te çıkan bir framework hâlâ güvenlik yaması alıyor. Bir yandan “vay be, Microsoft backward compatibility konusunda gerçekten kararlı” dersiniz, öte yandan “2026’da hâlâ.NET Framework 2.0 kullanan bir yer varsa ciddi bir problemi var” diye düşünürsünüz. İkisi de aynı anda doğru sanırım.
Şunu söyleyeyim, Bu ay Framework tarafında hem güvenlik hem de güvenlik dışı düzeltmeler geldi. Microsoft’un release notes sayfası üzerinden detaylara bakabilirsiniz ama özetle: Framework 4.8 veya 4.8.1 kullanıyorsanız, bu yamaları ertelemeyin.
Güncelleme Stratejisi: Kim Neyi Ne Zaman Yapmalı?
Açık konuşayım, Gelelim asıl meselenin can alıcı kısmına. Yama çıktı tamam da, bunu nasıl uygulayacaksınız? Küçük bir startup ile 500 sunucusu olan bir enterprise’ın yaklaşımı aynı olamaz — olmamalı da.
Küçük Ekipler ve Startup’lar İçin
Eğer 5-10 sunucunuz varsa ve CI/CD pipeline’ınız düzgün çalışıyorsa, bu işi yarım günde halledersiniz. Konteyner tabanlı çalışıyorsanız zaten Dockerfile’daki base image’ı güncelleyip yeniden deploy etmeniz yeterli. Mesela: Daha fazla bilgi için Kubernetes 1.36 Ön İzleme: Neler Geliyor, Neler Gidiyor? yazımıza bakabilirsiniz.
# Eski
FROM mcr.microsoft.com/dotnet/aspnet:8.0.25
# Yeni — Nisan 2026 yaması dahil
FROM mcr.microsoft.com/dotnet/aspnet:8.0.26
# Build ve deploy
docker build -t myapp:latest.
docker push myregistry.azurecr.io/myapp:latest
Bitti. Ciddi ciddi bu kadar basit olabiliyor konteyner dünyasında. Ama — ve bu önemli bir “ama” — test etmeden production’a göndermeyin sakın. “Canım sadece güvenlik yaması, ne olacak ki” diyenler var, 2023’te bir.NET 7 güvenlik yamasından sonra bir serializasyon davranışı değişmişti. Bazı API’ler bozulmuştu. Ders alın.
Enterprise Seviyede Yaklaşım
Büyük kurumlarda iş biraz daha karmaşık. Geçen hafta bahsettiğim finans müşterisinde şöyle bir süreç izledik:
- CVE’leri önem sırasına göre değerlendirdik — RCE olanlar ilk sıraya
- Staging ortamında yamaları uyguladık ve regression testleri çalıştırdık
- Canary deployment ile üretim ortamının %5’ine uyguladık
- 24 saat izledikten sonra kademeli rollout başlattık
- Tam deployment 3 gün sürdü
3 gün uzun mu? Belki. Ama bu bir banka. Bir şey patlarsa milyonlarca lira kayıp söz konusu. Hız ile güvenlik arasında her zaman bir denge var — ve orada dengeyi doğru kurmak kritik.
Şahsen, Hmm, bir düşüneyim… Eklemem gereken bir şey daha var. Eğer Azure App Service kullanıyorsanız,.NET runtime güncellemeleri otomatik yapılıyor — ama bu genelde CVE çıktıktan 1-2 hafta sonra oluyor. O yüzden kritik bir açık varsa, manual olarak runtime pin’lemeniz veya container-based deployment’a geçmeniz daha sağlıklı. PHP 8.5 Azure App Service’te: Ne Değişti? yazımda runtime güncellemeleriyle ilgili benzer konulara değinmiştim, merak edenler bakabilir. Bu konuyla ilgili MSVC 14.51 ile C++23 Desteği: Sahadan Notlar yazımıza da göz atmanızı tavsiye ederim.
Hmm, bunu nasıl anlatsamdı…
Security Feature Bypass: Göz Ardı Edilmemesi Gereken CVE
CVE-2026-26171’e ayrı bir parantez açmak istiyorum. Security Feature Bypass, yanı güvenlik özelliği atlatma açığı. Bu tip açıklar RCE kadar ses getirmiyor ama aslında baya tehlikeli. Neden? Çünkü mevcut güvenlik mekanizmalarınızı devre dışı bırakabiliyor — sessiz sedasız, fark ettirmeden.
Size bir şey söyleyeyim, Mesela bir authentication bypass düşünün — saldırgan doğrudan sisteme giriyor, şifre bile sormadan. Ya da bir authorization bypass — normal kullanıcı admin yetkilerine erişiyor. CVE-2026-26171’in tam detayları henüz açıklanmadı (Microsoft genelde yamalandıktan sonra detay veriyor) ama hem modern.NET hem Framework’ü etkiliyor olması, muhtemelen ortak bir bileşenle — belki System.Security altında bir şeyle — ilgili olduğuna işaret ediyor. Daha fazla bilgi için güvenlik ile ilgili önceki yazımız yazımıza bakabilirsiniz. GitHub Pages ile Ücretsiz Site Kurulumu: Tam Rehber yazımızda bu konuya da değinmiştik. ChatGPT ile Araştırma: Search ve Deep Research Rehberi yazımızda bu konuya da değinmiştik.
Durun, bir saniye.
Aslında dur bir saniye, önce şunu söyleyeyim — AZ-500 sınavına hazırlanırken güvenlik açığı türlerini derinlemesine çalışmıştım. O zaman öğrendiğim bir şey vardı: bypass açıkları genelde exploit chain’lerin bir parçası olarak kullanılıyor. Yanı tek başına belki çok tehlikeli değil, ama başka bir açıkla birleştirilince tam bir felaket senaryosu çıkıyor ortaya. E peki, sonuç ne oldu? Küçümsemek yok.
DoS Açıkları: “Sadece Çökertme” Diye Küçümsemeyin
Bu ay üç tane Denial of Service açığı var. Bazı ekipler DoS’u hafife alıyor. “Canım veri sızmıyor ki, sadece servisi çökertiyor” diyorlar. Maalesef.
Geçen yıl bir e-ticaret müşterimizde tam da böyle bir DoS açığı exploit edildi. Black Friday kampanyası sırasında. Servis 4 saat boyunca ayakta kalamadı. Kayıp? Tahminen 2 milyon TL civarı. “Sadece DoS” dediğiniz şeyin faturası bu olabiliyor işte (bizzat test ettim)
CVE-2026-23666 sadece.NET Framework’ü etkiliyor, CVE-2026-32226 da öyle. Ama CVE-2026-32203 hem modern.NET hem Framework’ü vuruyor. Public-facing API’leriniz varsa, DoS yamalarını da RCE kadar ciddiye almanızı şiddetle tavsiye ederim.
Pratik Güncelleme Adımları
Kendi deneyimimden konuşuyorum, Lafı fazla uzatmadan, bugün yapmanız gerekenleri özetleyeyim..NET SDK ve runtime güncelleme komutu basit:
# Mevcut sürümünüzü kontrol edin
dotnet --list-sdks
dotnet --list-runtimes
# Güncelleme için (Windows)
winget upgrade Microsoft.DotNet.SDK.8
winget upgrade Microsoft.DotNet.SDK.9
winget upgrade Microsoft.DotNet.SDK.10
# Linux üzerinde (Ubuntu örneği)
sudo apt update
sudo apt upgrade dotnet-sdk-8.0 dotnet-sdk-9.0
Bir şey dikkatimi çekti:.NET Framework tarafında işe Windows Update üzerinden gelecek bu yamalar. Sunucularınızda WSUS kullanıyorsanız, ilgili KB’leri approve etmeniz gerekiyor..NET Agent Skills: Üç Yöntem, Tek Sağlayıcı yazımda.NET ekosistemindeki farklı yaklaşımları ele almıştım, merak edenler bakabilir (buna dikkat edin)
Şahsen, Bir de şu var — container image’larınızı güncellemeyi unutmayın. Microsoft’un container registry’sindeki resmî image’lar zaten güncellendi. Ama eğer kendi custom base image’larınız varsa, onları da yeniden build etmeniz lazım. Bu adımı atlayan ekipler var, sonra “neden hâlâ eski sürümde görünüyor” diye bize geliyor.
Nisan 2026 Güncellemesinin Genel Değerlendirmesi
Açık konuşayım: bu ay çok sarsıcı bir güncelleme değil. Ama görmezden gelinecek bir güncelleme de hiç değil. İki RCE açığı tek başına yeterli sebep zaten — başka gerekçeye gerek yok. Güvenlik yamalarını “ay sonu topluca yaparız” diye ertelemeyi bırakın artık, özellikle RCE kategorisinde.
Kağıt üstünde her şey güzel, “ayda bir yama uyguluyoruz” diyorsunuz. Ama pratikte o yamayı uygulayana kadar 2-3 hafta geçiyor (evet, doğru duydunuz). Bu arada saldırganlar boş durmuyor. Neyse, uzatmayalım. Yapmanız gereken şey belli: test edin, uygulayın, bir sonraki aya hazırlanın. Basit.
Sıkça Sorulan Sorular
.NET Framework 4.8.1 ne zamana kadar destek alacak?
.NET Framework 4.8.1, Windows’un bir parçası olarak desteklenmeye devam ediyor. Microsoft, Windows işletim sistemi destekte olduğu sürece Framework’e güvenlik yamaları sağlıyor (şaşırtıcı ama gerçek). Yanı en az 2030’lara kadar yama almaya devam edecek — ama yeni özellik beklemeyin, sadece güvenlik düzeltmeleri gelecek.
Bu CVE’ler Azure App Service’i otomatik olarak etkiler mi?
İşin garibi, Azure App Service’teki runtime’lar Microsoft tarafından güncelleniyor. Bu genelde CVE çıktıktan 1-2 hafta sonra gerçekleşiyor. Eğer acil yamalamanız gerekiyorsa, container-based deployment kullanmanız veya self-contained publish yapmanız daha güvenli bir yaklaşım olacaktır.
CVE-2026-32178 ve CVE-2026-33116 arasındaki fark ne?
İkisi de Remote Code Execution kategorisinde ama CVE-2026-32178 hem modern.NET hem.NET Framework’ü etkilerken, CVE-2026-33116 sadece modern.NET (8, 9, 10) sürümlerini etkiliyor. Framework kullanmıyorsanız ikisini de, sadece Framework kullanıyorsanız CVE-2026-32178’i önceliklendirin.
.NET 8 mi yoksa.NET 9 mu kullanmalıyım?
.NET 8 LTS sürümü olduğu için Kasım 2026’ya kadar garanti destek sunuyor..NET 9 işe Standard Term Support ile Mayıs 2026’da destek sona eriyor — yanı zaten birkaç hafta kaldı. Production ortamları için.NET 8 veya.NET 10’a geçmenizi öneriyorum.
Güncellemeyi uyguladıktan sonra nasıl doğrulama yapabilirim?
Komut satırında dotnet --info komutuyla yüklü runtime ve SDK sürümlerini kontrol edebilirsiniz..NET Framework için işe kayıt defterinde HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP anahtarına bakabilirsiniz. Ayrıca uygulamanızın health check endpoint’lerini kontrol etmeyi unutmayın.
Kaynaklar ve İleri Okuma
.NET and.NET Framework April 2026 Servicing Releases Updates —.NET Blog
.NET 8.0.26 Release Notes — GitHub
.NET Framework Geliştirici Kurulum Rehberi — Microsoft Learn
İçeriği paylaş:
Bu içerik işinize yaradı mı?
Benzer içerikleri kaçırmamak için beni sosyal medyada takip edin.










Yorum gönder