Node.js Ekim 2026 Açıkları: Azure Pipelines Rehberi

Node.js, 21 Ekim 2026’da birden fazla güvenlik açığını düzeltti; DNS/TLS doğrulama ve Brotli açma hataları gibi sorunlar belirli koşullarda tetikleniyor. Azure Pipelines’ta Node.js güncellemesi katmanlara göre değiştiği için doğrulama şart.

Node.js projesi 21 Ekim 2026’da 10 güvenlik açığı için düzeltme yayımladı. Listede DNS çözümlemesi ve TLS sertifika doğrulamasındaki kusurlar var, bir de saldırganın kontrol ettiği veri işlendiğinde belleği bozabilen, kod çalıştırmaya kadar gidebilen bir Brotli açma (decompression) hatası. Düzeltmeler 22.23.4, 24.22.1 ve 26.12.1 sürümleriyle dağıtıldı; her CVE’nin etkilediği dal ve ön koşullar birbirinden farklı.

Azure Pipelines tarafında Node.js birden fazla katmanda devreye giriyor ve her katmanın güncelleme yolu ayrı. Agent’ın görev çalıştırıcıları, pipeline adımlarının seçtiği Node.js sürümü ve uygulamanın kendi çalışma zamanı aynı şey değil; birini güncellemek diğerini düzeltmiyor.

Açıkların kapsamı ve ön koşulları

Kaynak, yalnızca kurulu olmanın tek başına maruziyet anlamına gelmediğini özellikle vurguluyor. Her CVE’nin tetiklenmesi için belirli koşullar gerekiyor:

  • DNS çözümleme ve TLS doğrulama: CVE-2026-105482, tam ad üzerinden yapılan güvenlik kontrolünden sonra NUL karakteri içeren DNS adlarını kırpabiliyor. CVE-2026-105483, CVE-2026-106069 ve CVE-2026-106072 ise alışılmadık IP yazımlarıyla sertifika kimlik kontrollerinin atlatılabilmesine ilişkin; gereken sertifika ve çözümleyici koşulları her biri için farklı.
  • Brotli açma: CVE-2026-111497, saldırganın kontrol ettiği bozuk verinin etkilenen bir çözücüye ulaşmasını gerektiriyor. Bellek bozulması çökmeye, bellek içeriğinin sızmasına ya da potansiyel olarak kod çalıştırılmasına yol açabiliyor.
  • HTTP keep-alive yanıt işleme: CVE-2026-105481, yeniden kullanılan bir keep-alive bağlantısında Node.js HTTP istemcisinin istenmemiş veriyi sonraki bir isteğin yanıtı gibi kabul etmesine neden olabiliyor.
  • Başlangıç anlık görüntüsü (startup snapshot) entropisi: CVE-2026-106074, entropi API’leri startup-snapshot sırasında veya snapshot etkin tek yürütülebilir uygulama (SEA) üretimi sırasında çalıştığında, önbelleğe alınan rastgele değerlerin uygulama örnekleri arasında tekrarlanmasına yol açabiliyor.
  • Permission Model ve ZIP doğrulama: Kısıtlı Permission Model altında CVE-2026-106073 yol bilgisini açığa çıkarabiliyor, CVE-2026-106071 ise belirli joker (wildcard) kurallarında gereğinden fazla erişim verebiliyor. CVE-2026-106070, başlık doğrulaması başarısız olduktan sonra saldırganın kontrolündeki ZIP içeriğini döndürebiliyor.

Etkilenen dallar açısından iki ayrıntı öne çıkıyor. ZIP ve joker karakter izni sorunları yalnızca Node.js 26 için listeleniyor, tam genişlikli IP sorunu (CVE-2026-105483) ise 24 ve 26 için geçerli. Etkilenen dalları ve ön koşulları tek tek görmek için Node.js’in yayımladığı güvenlik duyurusundaki ilgili bölümlere bakmak gerekiyor.

Azure Pipelines tarafında ne yapmalı?

Self-hosted agent’lar

Agent sürümü v5.281.1 23 Ekim’de yayımlandı ve Node24 çalıştırıcısını 24.22.1 sürümüne güncelliyor. Kaynak burada iki sınırı açıkça belirtiyor: bu güncelleme her platform paketinde bulunmuyor ve bu sürüm, filo genelinde bir dağıtımın ya da diğer çalıştırıcı ailelerinin düzeltildiğinin garantisi değil.

Pratik sıra şöyle işliyor. Önce ürün, işletim sistemi ve mimari uyumluluğunu doğrulayın, ardından desteklenen agent havuzu güncelleme sürecini izleyin. Azure DevOps On-Prem kullanıyorsanız bu agent sürümünü her yere kurmak yerine, kendi sürümünüz için geçerli agent destek kurallarına uyun. Güncellemenin tamamlandığını varsaymayın; görev tanılama (diagnostics) çıktılarını inceleyip seçilen handler’ın ikilisini ve sürümünü doğrulayın.

Microsoft-hosted agent’lar

Microsoft-hosted agent ve imajların bakımını Microsoft üstleniyor, bu da yalnızca Azure DevOps Hosted için geçerli. Yine de pipeline adımlarınızın kurduğu veya seçtiği Node.js hala sizin kontrolünüzde. İmaj etiketine bakıp yama durumunu çıkarsamak yerine, işin gerçekten çalıştığı imajı, agent’ı ve seçilen yürütülebilir dosyayı doğrulamak gerekiyor.

Pipeline’ın seçtiği Node.js

UseNode@1 görevi version, NodeTool@0 görevi ise versionSpec parametresini alıyor. İkisinde de checkLatest varsayılan olarak false, bu yüzden 24.x gibi geniş bir aralık önbellekteki daha eski bir yama sürümünü seçebilir. Doğru yaklaşım, aynı ana sürüm hattında geçerli düzeltilmiş bir sürümü ya da sonraki desteklenen bir yamayı açıkça seçmek ve bu seçimi güncel tutmak.

Doğrulama için ilgili adımın içinde şu iki komutu çalıştırabilirsiniz:

node --version
node -p "process.execPath"

Bu görevler PATH‘i günceller, agent’ın gömülü görev çalıştırıcılarını değil. Yani UseNode@1 ile yeni bir sürüm seçmeniz, task handler’larının hangi Node.js ile çalıştığını değiştirmiyor.

Task’lar ve uzantılar

Uzantı yayıncılarının yapması gereken, handler’ları ve bağımlılıkları güncelleyip uyumluluğu test etmek, ardından güncellenmiş uzantıyı yayımlamak. Tüketici tarafında ise uyumlu ve desteklenen görev sürümlerini kullanmak gerekiyor. Daha yeni bir çalıştırıcı, uyumsuz task kodunu uyumlu hale getirmiyor. Bu nedenle her task’ı zorla Node24’e taşımaya çalışmayın.

Container’lar ve dağıtılmış uygulamalar

Job container’ları agent’ın sağladığı Node.js’i kullanabileceği gibi, imajın içindeki veya özel kurulmuş bir Node.js’i de kullanabilir. Uygulama çalışma zamanlarının ise ayrı servislenmesi gerekiyor: etkilenen çalışma zamanı ya da imaj girdilerini güncelleyin, yeniden derleyip dağıtın ve çalışan sürümü doğrulayın. Startup-snapshot ve tek yürütülebilir uygulama (SEA) çıktılarını da bu kapsama dahil edin. Host üzerindeki ya da PATH‘teki güncellemeler, imaja gömülü çalışma zamanlarını veya halihazırda dağıtılmış artefaktları değiştirmiyor.

.NET tarafında Brotli düzeltmesi

Microsoft’un 25 Ekim tarihli.NET güvenlik güncellemesi duyurusu da aynı Brotli açığını (CVE-2026-111497) modern.NET için kapsıyor. Maruziyet için saldırganın kontrol ettiği Brotli verisinin, etkin istek/yanıt sıkıştırma açma yolu üzerinden veya doğrudan Brotli API’leri aracılığıyla etkilenen bir çözücüye ulaşması gerekiyor..NET Framework bu duyurudan etkilenmiyor.

Düzeltilmiş modern.NET çalışma zamanı temel sürümleri 8.0.33, 9.0.22 ve 10.0.14; önizleme sürümleri için ayrı yönlendirme bulunuyor. Uygulama tipine göre izlenecek yol şöyle:

  • Framework-dependent uygulamalar: paylaşılan çalışma zamanını güncelleyin ve uygulamayı yeniden başlatın.
  • Self-contained uygulamalar: yeniden derleyip yeniden dağıtın.
  • NativeAOT uygulamalar: yamalı SDK’yı ve ilgili derleyici/çalışma zamanı paketlerini kullanıp yeniden yayımlayın ve dağıtın.

Özet: hangi katmanı kim güncelliyor?

Katman Güncelleme yolu
Self-hosted agent görev çalıştırıcısı Agent v5.281.1 (Node24 → 24.22.1), desteklenen havuz güncelleme süreciyle
Microsoft-hosted agent / imaj Microsoft tarafından; siz yine de seçilen yürütülebiliri doğrulayın
Pipeline’ın seçtiği Node.js UseNode@1 / NodeTool@0 ile açık sürüm seçimi
Task ve uzantılar Yayıncı güncellemesi + uyumlu task sürümü kullanımı
Container ve dağıtılmış uygulamalar İmaj/çalışma zamanı güncellemesi, yeniden derleme ve dağıtım
.NET Brotli (CVE-2026-111497) 8.0.33 / 9.0.22 / 10.0.14 temel sürümleri

Bir agent sürümünü yükseltmek zincirin tamamını kapsamıyor. Maruziyeti belirleyen şey, ilgili kodun gerçekten hangi Node.js ikilisiyle çalıştığı ve CVE’nin ön koşullarının sağlanıp sağlanmadığı. Doğrulama adımlarını (handler sürümü, node --version, process.execPath, çalışan uygulamanın sürümü) atlamamakta fayda var.

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.

Henüz yorum yok

  1. Tam zamanında denk geldi, bizim pipeline’larda hâlâ eski Node sürümü dönüyordu. DNS/TLS doğrulama tarafındaki açık özellikle ürkütücü, hemen güncelleme planına alıyorum. Azure Pipelines’ta sürüm sabitleme konusuna değinmeniz de iyi olmuş, çoğu kişi orayı atlıyor.

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
← GitHub Copilot ile .NET’...
→
📩

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.