.NET Brotli Açığı: App Service Linux İmajları Yamalandı

Azure App Service Linux, .NET 8/9/10 yerleşik imajlarını Brotli çözücüsündeki CVE-2026-111497 açığı için güncelledi. Güncelleme band dışı yayımlandı; etkiyi doğrulamak için çalışan runtime’ı kontrol etmek gerekiyor.

Azure App Service, Linux tarafındaki yerleşik (built-in).NET imajlarını .NET 8, 9 ve 10 için güncelledi. Güncellemenin arkasında,.NET ve ASP.NET Core’un kullandığı Brotli çözücüsünde bulunan bir güvenlik açığı var.

Yamanın kapsadığı açık: CVE-2026-111497

Resmi.NET sürüm notlarında tanımlanan CVE-2026-111497, Brotli çözücüsündeki bir sınır dışı yazma (out-of-bounds write) hatasına işaret ediyor. Kötü amaçlı hazırlanmış sıkıştırılmış veri işlendiğinde hizmet dışı bırakma (DoS), bilgi ifşası veya yetki yükseltme ortaya çıkabiliyor.

Uygulamanız Brotli açma işlemini şu yollardan biriyle kullanıyorsa etkilenme ihtimali var:

  • ASP.NET Core istek açma (request decompression) özelliği,
  • HttpClient üzerindeki otomatik yanıt açma davranışı,
  • System.IO.Compression içindeki Brotli API’leri.

İki sınırı da hesaba katmak gerekiyor. Otomatik istek ve yanıt açma davranışları varsayılan olarak etkin değil, ayrıca .NET Framework bu sorundan etkilenmiyor. Yani varsayılan yapılandırmayla çalışan her uygulama kendiliğinden risk altında değil; belirleyici olan, kodunuzun Brotli açma yollarından birini kullanıp kullanmadığı.

Yamalı runtime sürümleri

Azure App Service’in Linux imaj güncellemesi, 25 Ekim 2026 tarihinde yayımlanan band dışı (out-of-band).NET güvenlik sürümlerini temel alıyor. İlgili sürüm hatları ve yamalı runtime sürümleri şöyle:

.NET sürüm hattı Yamalı runtime sürümü
.NET 8 8.0.33
.NET 9 9.0.22
.NET 10 10.0.14

Bu sürümler Brotli düzeltmesinin yanında başka güvenlik düzeltmeleri de içeriyor. Kapsamın tamamı, hangi senaryoların etkilendiği ve platform runtime’ından bağımsız olarak ayrıca güncellenmesi gereken uygulama paketleri için resmi sürüm notlarına bakmanız gerekiyor.

Tabloyu doğru okumak gerekiyor. Bu liste yamalı sürümlerin hangileri olduğunu söyler, uygulamanızın halihazırda o sürümde çalıştığını kanıtlamaz. Doğrulamayı aşağıdaki adımlarla kendiniz yapmalısınız.

Dağıtım durumu ve Platform Release Channel

Güncellenmiş yerleşik Linux imajlarının dağıtımı hem Latest hem de Standard (varsayılan) Platform Release Channel üzerinde tamamlandı. Tüm dağıtım aşamaları ve bulutlar genelinde tamamlanma 27 Ekim 2026 tarihinde doğrulandı.

Dolayısıyla bu güncellemeyi almak için kanal değiştirmeniz gerekmiyor. Mevcut tercihinizde kalabilirsiniz, yapmanız gereken uygulamanızın çalışan runtime sürümünü doğrulamak.

Birkaç sınır daha var:

  • Platform Release Channel değiştirmek, uygulamanızın yapılandırılmış.NET sürüm hattını değiştirmez.
  • Destek ömrü sona ermiş (end-of-life) runtime’lar bu güncellemeleri almaz. Bu durumdaysanız desteklenen bir sürüm hattına geçip uygulamanızı test etmeniz gerekir.
  • Bu duyuru App Service for Linux içindir. Platform Release Channel ayarları ve dağıtım durumu App Service for Windows için geçerli değildir.

Uygulama tarafında yapılması gerekenler

Platform imajının güncellenmesi her senaryoyu kapsamıyor. Şunlar sizin sorumluluğunuzda:

  • Çalışan runtime’ı doğrulayın. Yapılandırılmış sürüm hattına veya kurulu SDK sürümüne değil, çalışan uygulama sürecine bakın.
  • Uygulama tarafından yönetilen bağımlılıkları gözden geçirin. Paylaşılan runtime’dan bağımsız olarak güncellenmesi gereken paketler için resmi sürüm notlarını takip edin.
  • Self-contained dağıtımları ve özel container’ları kendiniz güncelleyin. Platform imaj güncellemesi, uygulamanızla birlikte paketlenmiş ya da özel imajınızın içinde bulunan.NET runtime’ının yerine geçmez. İlgili yamalı runtime ile yeniden derleyip test edin ve yeniden dağıtın. Aynı kural diğer “kendi runtime’ını getir” (bring-your-own runtime) dağıtımları için de geçerli.

Runtime sürümünü nasıl doğrularsınız?

Çalışan uygulamanızda etkileşimli bir kabuk açmak için Azure CLI 2.90.0 veya üzeri ile az webapp exec (şu anda önizleme aşamasında) komutunu kullanabilirsiniz:

az webapp exec --resource-group <resource-group> --name <app-name>

Bir deployment slot için --slot <slot-name> parametresini ekleyin, diğer örnekleri kontrol etmek içinse --instance <instance-id> kullanabilirsiniz.

Etkileşimli kabukta kurulu paylaşılan runtime’ları listeleyin:

dotnet --list-runtimes

Framework’e bağımlı (framework-dependent) ASP.NET Core uygulamalarında Microsoft.NETCore.App ve Microsoft.AspNetCore.App girdilerini kendi sürüm hattınızın yamalı sürümüyle karşılaştırın.

Kurulu runtime listesi tek başına yeterli değil

Kurulu runtime’ların listelenmesi, uygulama sürecinizin hangi runtime’ı kullandığını kanıtlamaz. Çalışan uygulamadan System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription değerini okumak için mevcut başlangıç (startup) loglamanızı ya da tanılama altyapınızı kullanın. Ölçeklenmiş (scale-out) uygulamalarda doğrulamayı örnekler genelinde yapın, runtime tanılama bilgilerini kimlik doğrulaması olmayan genel bir uç nokta üzerinden dışarı açmaktan da kaçının.

Bir nokta daha karıştırılıyor: dotnet --version komutu SDK sürümünü bildirir, uygulamanızın kullandığı runtime’ı değil. Self-contained dağıtımlarda uygulama sürecini inceleyip dağıtımı yamalı bir runtime ile yeniden derlemeniz gerekir; platformun paylaşılan runtime listesi, paketlenmiş runtime’ınızı doğrulamaz.

İlgili diğer güncellemeler

Aynı dönemde App Service for Linux tarafında yayımlanan ayrı duyurular da var:

  • Node.js ve Python acil runtime güncellemeleri, Node.js tarafındaki Brotli düzeltmesi dahil ayrı sürümleri kapsıyor.
  • Saat dilimi (time zone) veri güncellemeleri, bağımsız bir güncelleme kümesi.
  • eMudhra / emSign sertifika güvenlik güncellemeleri, sertifika güven deposuna ilişkin ayrı güncellemeler. Runtime güncellemeleri, uygulamanızın kendi yönettiği sertifika paketlerinin yerine geçmez.

Kaynaklar ve İleri Okuma

Bu yazı yapay zeka (büyük dil modelleri) ile hazırlanmış, insan editör tarafından incelenmiştir. İçerik üretim sürecimiz.
Aşkın KILIÇ

20+ yıl deneyimli Azure Solutions Architect. Microsoft sertifikalı bulut mimari ve DevOps danışmanı. Azure, yapay zekâ ve bulut teknolojileri üzerine Türkçe teknik içerikler üretiyor.

AZ-305AZ-104AZ-500AZ-400DP-203AI-102

Bu içerik işinize yaradı mı?

Benzer içerikleri kaçırmamak için YouTube ve GitHub hesaplarımı takip edin.

Haftalık Bülten

Her pazar özenle seçilmiş teknoloji yazıları doğrudan e-postanıza gelsin.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

✉

Haftalık Bülten

Azure, DevOps ve Yapay Zeka dünyasındaki en güncel içerikleri her hafta doğrudan e-postanıza alın.

Spam yok. İstediğiniz zaman iptal edebilirsiniz.
📱
Uygulamayı Yükle Ana ekrana ekle, çevrimdışı oku
Kategoriler
Ara
Paylaş
WhatsApp
İçindekiler
← Workload Conformance WG: İş Yü...
→
📩

Gitmeden önce!

Her pazar özenle seçilmiş teknoloji yazıları ve AI haberleri doğrudan e-postanıza gelsin. Ücretsiz, spam yok.

🔒 Bilgileriniz güvende. İstediğiniz zaman ayrılabilirsiniz.

📬 Haftalık bülten: Teknoloji + AI haberleri
Beni Takip Et Yeni Azure / AI / DevOps yazılarını GitHub ve RSS üzerinden takip edin.