İçeriğe geç
BilgiKütüphanesi
Siber Güvenlik

Node2Shell: Node.js'te Brotli Çözücüsünde Kritik Uzaktan Kod Çalıştırma Açığı (CVE-2026-111497)

Node.js 21 Ekim 2026'da 10 güvenlik açığını kapatan acil bir sürüm yayınladı. En ciddisi, Node2Shell olarak anılan CVE-2026-111497: gömülü Brotli çözücüsündeki sınır dışı yazma hatası uzaktan kod çalıştırmaya imkân veriyor. Tek çözüm v26.12.1, v24.22.1 veya v22.23.4 sürümlerine güncellemek.

İlk yayın: 2 dk okuma3 kaynak

Node.js ekibi 21 Ekim 2026'da, çalışan tüm aktif sürüm dallarını kapsayan acil bir güvenlik sürümü yayınladı. Sürüm toplam 10 güvenlik açığını kapatıyor; bunların en ciddisi olan CVE-2026-111497, güvenlik topluluğunda Node2Shell adıyla anılıyor ve kötü niyetli bir girdiyle uzaktan kod çalıştırmaya (RCE) imkân verebiliyor.

Açığın kaynağı Node.js'in kendi yazdığı bir kod değil: Sorun, Node.js'in içine gömülü olan Brotli sıkıştırma kütüphanesinin çözücüsünde (decoder). Bu nedenle etki Node.js ile sınırlı değil — aynı Brotli çözücüsünü paketleyen diğer yazılımlar da aynı riski taşıyor.

Açık tam olarak ne?

CVE-2026-111497, Brotli çözücüsünde bir sınır dışı yazma (out-of-bounds write) hatasıdır. Bozuk biçimlendirilmiş (malformed) bir Brotli verisi çözülürken, çözücü ayrılmış bellek bölgesinin dışına veri yazabiliyor. Bellek bozulmasına yol açan bu tür hatalar, dikkatle hazırlanmış bir girdiyle saldırganın kontrolündeki kodun çalıştırılmasına kadar gidebilir.

Önemli olan, bu verinin nereden geldiği: Brotli, web'de yaygın bir içerik sıkıştırma biçimidir. Brotli ile sıkıştırılmış istek gövdelerini kabul eden ya da kullanıcı tarafından verilen adreslerden içerik çeken bir servis, dışarıdan gelen veriyi doğrudan bu çözücüye besliyor olabilir. Bu da açığı uzaktan tetiklenebilir kılıyor.

Hangi sürümler etkileniyor, hangisine güncellenmeli?

Node.js yamaları aktif dalların tamamı için yayınlandı. Düzeltmeyi içeren sürümler:

  • 26.x için: v26.12.1
  • 24.x için: v24.22.1
  • 22.x için: v22.23.4

Bu sürümlerden eskisini çalıştıran her kurulum etkilenir. Tek gerçek çözüm yamalı sürüme güncellemektir; yapılandırma değişiklikleriyle açığı tamamen kapatmak güvenilir bir yöntem değildir.

Aynı sürümdeki diğer açıklar

Node2Shell öne çıksa da, aynı sürüm toplam 10 açığı kapatıyor: dört yüksek, üç orta ve üç düşük önem dereceli. Yüksek önem dereceli diğerleri şunlar:

  • CVE-2026-105482 — dns.resolve ile ilgili bir güvenlik sorunu.
  • CVE-2026-105483 ve CVE-2026-106069 — TLS ana makine adı (hostname) doğrulamasıyla ilgili iki açık. Hatalı hostname kontrolü, şifreli bağlantıların yanlış sunucuya güvenmesine kapı aralayabilir.

Tek bir sürümde bu kadar açığın birlikte kapatılması, güncellemeyi yalnızca Node2Shell için değil, bütün olarak zorunlu kılıyor.

Şu an istismar ediliyor mu?

26 Ekim 2026 itibarıyla güvenlik firması Rapid7, CVE-2026-111497 için gerçek dünyada aktif bir istismar gözlemlemediğini bildirdi ve açık, ABD CISA'nın "bilinen istismar edilen açıklar" (Known Exploited Vulnerabilities) kataloğunda yer almıyor. Ancak açığın ayrıntıları ve kavram kanıtı analizleri kamuya açıldığı için, bu durumun hızla değişebileceği varsayılmalı. Açığın kritik önem derecesi (kaynaklara göre CVSS 9.2 ile 9.8 arasında) ve uzaktan tetiklenebilirliği, bekleyip görmeyi riskli kılıyor.

Yapılması gerekenler

  1. Önce Brotli yüzeyini öne al. Dışarıdan Brotli ile sıkıştırılmış veri kabul eden ya da kullanıcı adreslerinden içerik çeken servisleri en yüksek öncelikle güncelle.
  2. Çalışma ortamını güncelle. Üretim sunucularını, konteyner imajlarını ve CI/CD işleyicilerindeki Node.js sürümünü v26.12.1 / v24.22.1 / v22.23.4 veya üstüne taşı. Birçok resmi Docker imajı eski Node.js sürümlerini içerir; imaj etiketlerini kontrol et.
  3. Dolaylı kullanımı unutma. Node.js'i doğrudan kullanmasan bile, üzerine kurulu araçlar (derleme araçları, sunucusuz işlevler, masaüstü Electron uygulamaları) aynı çalışma ortamını barındırabilir.
  4. Sürüm envanterini çıkar. Hangi sistemlerin hangi Node.js sürümünü çalıştırdığını bilmiyorsan, yamadan önce bir envanter çıkarman gerekir — güncellenemeyen gizli bir kurulum tek başına riski sürdürür.

Node.js'in resmi güvenlik duyurusu, etkilenen sürümlerin ve her CVE'nin ayrıntılı listesini içerir ve güncelleme kararının birincil kaynağı olarak kullanılmalıdır.

Benzer İçerikler