· kaynak dev.to (home feed)
HTTP2Shell Brotli buffer overflow Node.js düzeltmelerini ve container yeniden derleme önerilerini tetikledi
HTTP2Shell adı verilen Brotli decompression kütüphanesindeki bir buffer overflow, Node.js güvenlik güncellemelerinin yayınlanmasına ve decoder'ı gömen container ile cloud runtime'larının denetlenmesi çağrısına yol açtı.

Ne oldu
Brotli decompression kütüphanesindeki bir bellek güvenliği açığı, mühendislik ekiplerini runtime'ları yamaya ve container imajlarını yeniden derlemeye itiyor. Naveed Ahmed'in dev.to'daki, özgün haline mühendislik blogunda yayımlanan yazısına göre, HTTP2Shell olarak adlandırılan ve CVE-2026-111497 numarasıyla takip edilen hata, özellikle hazırlanmış sıkıştırılmış verinin decoder içindeki ayrılmış bir buffer'ın sonunun ötesine yazma yapmasına olanak tanıyor ve bu süreçte belleği bozuyor. Uygulamaya ve açığın orada sömürülebilirliğine bağlı olarak sonuçlar çökmelerden bilgi sızdırmaya, hatta uzaktan kod çalıştırmaya kadar uzanabilir.
Google'ın Brotli kütüphanesi web trafiğini ve uygulama verisini her yerde sıkıştırdığı için, aynı hatalı decoder dil runtime'larının, container imajlarının ve bulutta barındırılan servislerin içinde bulunabiliyor — bir sıkıştırma hatasının altyapı sorununa dönüşmesinin nedeni de bu.
Açık nasıl çalışıyor
Ahmed basit bir hata yolu ortaya koyuyor: güvenilmeyen sıkıştırılmış girdi savunmasız bir decoder'a ulaşıyor, decoder buffer'ının dışına yazıyor ve ortaya çıkan bellek bozulması süreci çökertiyor ya da en kötü durumda saldırganın kontrolünü sağlıyor. HTTP temalı adına rağmen HTTP2Shell yalnızca HTTP/2 ile sınırlı değil; saldırgan kontrollü veriyi etkilenen bir Brotli decoder'a ulaştıran her yol — gelen istekler, yüklenen dosyalar, diğer servislerden gelen yanıtlar — olası bir vektör.
Ahmed ayrıca en kötüyü varsaymamak konusunda uyarıyor: Brotli kurulu olması tek başına bir sistemi sömürülebilir kılmıyor. Önemli olan, etkilenen bir decoder'ın gerçekten güvenilmeyen girdi işleyip işlemediğidir.
Hangi sistemler açık
Yazıda denetlenmesi değerli ortamlar sıralanıyor: savunmasız runtime'lardaki Node.js uygulamaları, etkilenen Brotli paketlerine sahip Python kurulumları, etkilenen decompression yolunu kullanan .NET yazılımları, savunmasız yerel kütüphaneyi içeren Docker imajları, bu imajlar üzerine kurulu Kubernetes iş yükleri ve gömülü Brotli decoder içeren diğer tüm ürünler.
Node.js, Ekim 2026 güvenlik sürümlerinde düzeltmeleri yayınladı: 22.x hattında 22.23.4, 24.x'te 24.22.1 ve 26.x'te 26.12.1. Desteklenmeyen eski hatlar sürdürülen bir sürüme geçmelidir. Ahmed sürüm kontrolleriyle ilgili bir uyarı da ekliyor: Linux dağıtımları bazen güvenlik düzeltmelerini upstream sürüm numarasını artırmadan geri taşır, bu yüzden ham sürüm dizgilerinden ziyade satıcı danışma belgeleri daha iyi bir rehberdir.
Tespit ve azaltma
Kubernetes operatörleri için önerilen triyaj, önce bir namespace'te fiilen çalışan imajları listelemek, ardından iş yüklerinin içine girerek Node.js runtime sürümünü ve gömülü Brotli sürümünü doğrulamakla başlıyor. Trivy ile yapılan, yüksek ve kritik önem derecesine filtrelenmiş imaj taraması CVE'yi işaretleyebilir; ancak temiz bir tarama güvenlik kanıtı değildir: statik olarak gömülü kütüphaneler ve uygulama bağımlılıkları gözden kaçabilir; yazılım malzeme listelerinin (SBOM) açığın haritalanmasına yardımcı olduğu nokta tam da burasıdır.
Ahmed'in önerdiği iyileştirme sırası şöyle: güvenilmeyen Brotli verisini açan uygulamaları bulmak, satıcı danışma belgelerini okumak, runtime'ları ve bağımlılıkları yükseltmek, container imajlarını yeniden derlemek, yeniden dağıtmak, sürümleri doğrulayıp yeniden taramak ve ardından anormal çökmeleri izlemek. Yeniden derleme önemli, çünkü ana makinede bir paketi yamalamak, imaja çoktan gömülmüş savunmasız bir kütüphane için hiçbir şey yapmaz.
Yamanın hemen yapılamadığı yerlerde yazı, güvenilmeyen girdinin Brotli decompression'ının geçici olarak devre dışı bırakılmasını ya da etkilenen sıkıştırılmış isteklerin kenarda (edge) engellenmesini öneriyor; ancak WAF ve ingress kurallarının iç servislerden, upstream yanıtlarından veya dosyalardan gelen Brotli verisini kapsamayacağı uyarısını da ekliyor. Kenar filtreleme zaman kazandırır; bir çözüm değildir.
Neden önemli
HTTP2Shell, altyapı güvenliğinin artık işletim sistemi paketleriyle sınırlı kalmadığının bir hatırlatıcısı. Sıkıştırma kodu dil runtime'larının ve container imajlarının içinde geldiği için, tek bir kütüphane kusuru düzinelerce ya da yüzlerce iş yükünde koordineli değişiklikler gerektirebiliyor. Yazıdan çıkan pratik ders, tepki hızının CVE ortaya çıkmadan önce ekiplerin elinde olanlara bağlı olduğu: rutin imaj taramaları, bağımlılık envanterleri ve SBOM'lar, desteklenen runtime sürümleri, CI/CD güvenlik kapıları ve prova edilmiş container yeniden derleme ile acil yordamları. Gerçekten test edilen yetenek, hangi iş yüklerinin etkilendiğini — ve ne kadar hızlı iyileştirilebileceklerini — tam olarak bilmektir.
- #brotli
- #security
- #node-js
- #containers
- #kubernetes
- #devops