Brotli açığı HTTP2Shell: Node.js ve .NET'te uzaktan kod çalıştırma riski
Google'ın Brotli sıkıştırma kütüphanesindeki kritik açık, Node.js, Python paketleri ve .NET uygulamalarını etkiliyor. Yamalar yayımlandı, ancak yalnızca Brotli'yi güncellemek yetmeyebilir.

Web'de yaygın biçimde kullanılan Brotli sıkıştırma algoritmasında kritik bir güvenlik açığı ortaya çıktı. HTTP2Shell adıyla anılan, Node2Shell ve Broccoli2Shell isimleriyle de geçen açık, bellek bozulmasına ve bazı durumlarda uzaktan kod çalıştırmaya (RCE) yol açabiliyor. Birden fazla teknoloji şirketi ve açık kaynak projesi yama yayımladı.
Açık, kısa süre önce duyurulan PHP2Shell zafiyetlerine benzetiliyor. Etkilenen yazılımların çeşitliliği nedeniyle, sistem yöneticilerinin yalnızca tek bir kütüphaneyi güncellemekle yetinmemesi gerekiyor.
Açığın teknik ayrıntıları
Brotli, Google tarafından geliştirilen açık kaynaklı bir veri sıkıştırma algoritması. Veriyi kayıpsız biçimde küçülttüğü için aktarım süresini kısaltıyor ve daha az bant genişliği kullanıyor. Web'de HTML, CSS ve JavaScript gibi HTTP yanıtlarını sıkıştırmak için yaygın biçimde kullanılıyor; çoğu tarayıcı, sunucu ve yazılım kütüphanesi tarafından destekleniyor.
Hata, sınır dışı yazma (out-of-bounds write) türünde bir açık olarak tanımlanıyor. CVE-2026-111497 koduyla izleniyor ve 10 üzerinden 9,2 ile kritik seviyede puanlandı. Ulusal Güvenlik Açığı Veritabanı'na göre hata bir tampon taşmasına yol açıyor; bu da bellek içeriğinin ifşa olmasına, hizmet reddine ve bazı durumlarda uzaktan kod çalıştırmaya imkân tanıyabiliyor.
Node.js tarafından yapılan açıklamaya göre geçersiz bir blok geçişi kalıcı bir biçim hatası olarak değil, geçici olarak daha fazla girdiye ihtiyaç duyulması şeklinde raporlanıyordu. Bu yüzden akış tabanlı çözücü, sekiz baytlık bir iç tampona girdi baytları eklemeyi sürdürüyordu. Açıklamaya göre, bir uygulamanın node:zlib ile açtığı Brotli verisini kontrol edebilen bir saldırgan süreç belleğini bozabilir; bunun sonucu çökme, süreç belleğinin ifşası ya da uzaktan kod çalıştırma olabilir.
Kimler etkileniyor, hangi yamalar yayımlandı
Brotli pek çok yazılımın içinde yer aldığından etki alanı geniş. Node.js, brotlicffi, Requests, urllib3, httpx ve aiohttp gibi HTTP istemcileri ile Bun ve Envoy dağıtımları gibi Brotli çözücüsü kullanan uygulamalar risk altında. Node.js tarafında 26.x, 24.x ve 22.x sürümlerinin etkilendiği belirtiliyor.
Google açığı 21 Ekim 2026'da Brotli 1.0.10, 1.1.1 ve 1.2.1 sürümleriyle giderdi. Node.js de aynı gün kendi yamasını yayımladı. Düzeltmeler içeren PyPI paketleri ise iki gün sonra, 23 Ekim'de kullanıma sunuldu. Microsoft ise hafta sonu .NET için acil bir güncelleme yayımladı; şirket, başarılı bir istismarın ayrıcalık yükseltmesine yol açabileceğini belirtti. Brotli çözücüsünü kendi içinde barındıran ya da savunmasız sürümleri kullanan başka yazılımlar da bulunduğundan, yalnızca Google'ın kütüphanesini güncellemek her uygulamayı korumayabilir.
Yamalı sürümler şöyle: Google Brotli 1.0.10, 1.1.1 ve 1.2.1; Node.js 22.23.4, 24.22.1 ve 26.12.1; Python Brotli 1.2.1; Python brotlicffi 1.2.1.0.
İstismar durumu ve alınabilecek önlemler
Aynı dönemde bir kişi ya da grup, sorunu anlatan, savunmasız sürümleri takip eden ve yabanda denenen istismarları raporladığı belirtilen Broccoli2Shell.com adlı özel bir site kurdu. Siteye göre 22 Ekim 2026'da GitHub'da herkese açık bir kavram kanıtı (PoC) yayımlandı. Bu kavram kanıtının yalnızca kasıtlı olarak zayıflatılmış bir derlemede kod çalıştırmaya ulaştığı, standart derlemelerde ise çökmeye ve sınırlı bir bellek okumasına yol açtığı aktarılıyor. Aynı kaynağa göre kötü amaçlı kullanıma dair henüz bir rapor görülmedi.
Yöneticilerin yamaları mümkün olan en kısa sürede uygulaması, etkilenen süreçleri yeniden başlatması ve etkilenen konteyner imajlarını yeniden derleyip dağıtması öneriliyor. Hemen güncelleyemeyenler riski kısmen azaltabilir: Python kullanıcıları savunmasız Brotli ve brotlicffi paketlerini kaldırıp httpx[brotli] gibi isteğe bağlı bağımlılıkları çıkarabilir. Vekil sunucular, yük dengeleyiciler veya web uygulama güvenlik duvarları da Brotli ile sıkıştırılmış gelen istek gövdelerini reddedecek şekilde yapılandırılabilir. Ancak bu yöntem, kötü amaçlı HTTP yanıtlarını indirip açan uygulamaları korumuyor. Node.js için ise tam bir geçici çözüm bulunmadığı ifade edildi.
Yorumlar
Henüz yorum yok. İlk yorumu siz yazın.


