Brotli açığı, kullanıcının kendi programında değil, Node.js'in paketlediği kodda bulunuyor. Node.js bu kodu Brotli verisini açarken çalıştırıyor; doğrudan node:zlib modülü üzerinden veya fetch() çağrısı Brotli ile sıkıştırılmış bir yanıt aldığında otomatik olarak devreye giriyor. Bir uygulama, saldırganın kontrol ettiği Brotli verisini açtığı her yerde risk altında kabul ediliyor. Buna istek gövdesi veya başka bir sunucudan fetch ile alınan yanıtlar örnek gösteriliyor.
Brotli Decoder'daki Açık Nasıl Tetikleniyor?
Kaynağa göre açık, Brotli decoder'da sınır dışı yazma (out-of-bounds write) olarak tanımlanıyor ve bozuk sıkıştırılmış girdi ile tetikleniyor. Düzeltme, Brotli projesinden gelen ve Node.js'in içeri kopyaladığı bir upstream yama. Yama, decoder'ın geçersiz girdiyi yakalayıp tamponun dışına yazmadan daha erken durmasını sağlıyor. Brotli, Google'ın sıkıştırma kütüphanesi ve Node.js kendi kopyasını paketliyor.Aynı düzeltme 21 Ekim'de Brotli'nin 1.2.1, 1.1.1 ve 1.0.10 sürümlerinde de yayınlandı. Bu nedenle Brotli'yi paketleyen diğer yazılımların da aynı güncellemeye ihtiyaç duyabileceği belirtiliyor. Değişiklik ilk olarak Şubat 2026'da Brotli'nin kaynak kodunda yapılmış, ancak güvenlik sürümü olarak yalnızca Ekim ayında yayınlanmış.
Proje, açığın neye yol açabileceğini "uzaktan kod yürütme" olarak tanımlıyor ve açığı kritik yerine yüksek dereceli olarak derecelendiriyor. Pratikte ne kadarının gösterildiği ise daha sınırlı. 22 Ekim'de yayınlanan herkese açık bir kavram kanıtlama (proof-of-concept) çalışması, kod yürütmeyi yalnızca kasıtlı olarak zayıflatılmış bir test derlemesinde başarabildi. Standart bir Node.js derlemesinde aynı çalışmanın yazarı çökme ve süreç belleğinin sınırlı okunmasını rapor etti, normal derlemede çalışan bir saldırı elde edilemediğini söyledi. Yamalı Node.js, kavram kanıtlamada kullanılan bozuk girdiyi reddediyor ve 22 Ekim itibarıyla açığın vahşi ortamda istismar edildiğine dair bir rapor bulunmuyor.
Yüksek Dereceli Diğer Açıklar Neler?
Brotli dışındaki düzeltmelerden üçü de yüksek dereceli olarak sınıflandırılıyor. İkisi, TLS sertifika kontrollerinin atlatılmasıyla ilgili. Bir sunucunun IP adresinin alışılmadık bir biçimde yazılması durumunda sertifikanın olmaması gereken bir ana bilgisayarla eşleşmesine yol açabiliyor. Bu iki açık CVE-2026-106069 ve CVE-2026-105483 olarak listeleniyor. Üçüncü yüksek dereceli açık ise dns.resolve çağrısının gömülü null bayt içeren bir ana bilgisayar adını kısa kesmesini engelliyor (CVE-2026-105482). Node.js, CVE-2026-105483'ü yüksek olarak derecelendirirken, düzeltmeyi yapan commit bu hatayı düşük şiddetli ve istismarı zor olarak nitelendiriyor.Geriye kalan açıklar orta ve düşük dereceli. Orta dereceli bir açık, bir uygulama başlangıç anlık görüntüsü (startup snapshot) veya tek çalıştırılabilir uygulama (single-executable application) olarak derlendiğinde crypto.randomUUID() ve crypto.randomInt() çağrılarının her süreçte aynı değerleri döndürmesine neden oluyor (CVE-2026-106074). Bu durum, bu değerlerin öngörülemez olmasına dayanan her şeyi zayıflatıyor.
Tüm açıkların listesi, dereceleri ve etkilenen hatlar şöyle:
- CVE-2026-111497: Brotli decoder'da sınır dışı yazma, projeye göre uzaktan kod yürütme - Yüksek - 22.x, 24.x, 26.x
- CVE-2026-106069: IP adresi kanonik olmayan formda olduğunda TLS ana bilgisayar kontrolü atlatması - Yüksek - 22.x, 24.x, 26.x
- CVE-2026-105483: IP tam genişlikli rakamlarla yazıldığında TLS ana bilgisayar kontrolü atlatması - Yüksek - 24.x, 26.x
- CVE-2026-105482: dns.resolve null bayt içeren adları kesiyor - Yüksek - 22.x, 24.x, 26.x
- CVE-2026-105481: Keep-alive soketi istek gönderilmeden önce yazılan yanıtı işleyebiliyor - Orta - 22.x, 24.x, 26.x
- CVE-2026-106072: Kanonik olmayan IPv4 için sertifika doğrulaması DNS adlarının IP uç noktalarını doğrulamasına izin veriyor - Orta - 22.x, 24.x, 26.x
- CVE-2026-106074: randomUUID() ve randomInt() önbelleği başlangıç anlık görüntülerinde ve tek çalıştırılabilir uygulamalarda yeniden kullanılıyor - Orta - 22.x, 24.x, 26.x
- CVE-2026-106070: ZipFile başarısız başlık kontrolünden sonra saldırgan kontrollü baytlar döndürüyor - Düşük - 26.x
- CVE-2026-106071: Permission Model joker karakter araması üzerinden fazla dosya erişimi veriyor - Düşük - 26.x
- CVE-2026-106073: fs.realpathSync ile Permission Model atlatması - Düşük - 22.x, 24.x, 26.x
eMudhra Sertifika Engeli ve Güncellenen Bağımlılıklar
Aynı güncellemeler, Node.js'in Hindistan merkezli sağlayıcı eMudhra'ya ait sekiz ara sertifika otoritesi anahtarına güvenmeyi de durduruyor. Bu anahtarların günler önce ele geçirildiği bildirilmişti. Node.js, Mozilla kök sertifika listesini kullanıyor ancak varsayılan olarak iptal kontrolü yapmıyor. Bu nedenle güncellemeden önce bu anahtarlar üzerine kurulu bir sertifika zinciri hala geçerli sayılıyordu. Yeni sürümler sekiz anahtara yerleşik bir engel ekliyor ve paketlenmiş kök listesini güncelleyerek üç emSign kökünü kaldırıyor. Go da aynı engeli 20 Ekim'deki kendi güncellemesinde uygulamıştı. Güncellemeden önce başlayan bir oturumdan devam eden bağlantılar, oturum zaman aşımına uğrayana kadar yeniden kontrol edilmiyor ve destek süresi dolan hatlar bu engeli almıyor.10 açığın ötesinde güncellemeler paketlenmiş birkaç bileşeni de yeniliyor. fetch() arkasındaki HTTP istemcisi undici'nin kopyası, üç orta dereceli danışma belgesini düzelten bir sürüme taşınıyor. Bunlardan biri Subresource Integrity kontrolünde, ikisi bellek tüketimi açıklarında, biri Node.js içine gömülü WebSocket istemcisinde bulunuyor. Node.js ayrıca tüm hatlarda paketlenmiş c-ares'i, 22.x ve 24.x hatlarında OpenSSL'i ve 22.x hattında SQLite'ı herkese açık bilinen güvenlik açıklarına yönelik düzeltmeleri içerecek şekilde güncelledi.

Yazılım ve Uygulamalar
Yazılım ve Uygulamalar
Yazılım ve Uygulamalar
Yorumlar (0)
Yorum yapmak için giriş yapmalısınız.