Trusence Her iddianın bir kaynağı var
Son güncelleme: 15 Kasım 2026 Ara English
Güvenlik

Node.js 16 güvenlik açığını kapattı: HTTP/2 çökmesi ve bellek sızıntısı en ciddileri

Node.js 22.x, 24.x ve 26.x sürüm hatlarına yayımlanan güncellemeler, sunucuları çökertebilen ve bağlantılar arası veri sızdırabilen açıkları kapatıyor; çözüm yalnızca güncelleme.

Node.js, desteklenen 22.x, 24.x ve 26.x sürüm hatları için 16 güvenlik açığını kapatan güncellemeleri yayımladı. Açıkların sekizi Node.js'in kendi HTTP/2, HTTPS ve TLS sunucu kodunda bulunuyor. Düzeltmelerin yayımlandığı sürümler 22.23.5, 24.22.3 ve 26.13.1.

En ciddi açıklardan biri, varsayılan ayarlarla çalışan bir HTTP/2 sunucusunu uzaktan çökertebiliyor. Bu açık, sunucu istek gövdesi tamamen gelmeden yanıt verdiğinde ortaya çıkıyor ve kimlik doğrulaması gerektirmiyor. Bir diğer açık, HTTPS tarafında bağlantılardan birinin bellek içeriğinin, diğer bağlantılara ait isteklerin ve TLS özel anahtarlarının da dahil olduğu bölümlerinin okunmasına izin verebiliyor. Bu durum, işleyicinin istek gövdesi tam gelmeden res.flushHeaders() çağırıp ardından veriyle res.end() çağırması halinde gerçekleşiyor.

Açıkları kapatmanın tek yolu güncellemek; yayımlanan bilgide güncelleyemeyen sunucular için bir geçici çözüm yer almıyor. 20.x ve 25.x gibi destek süresi dolmuş sürümler için yama yapılmayacak ve bu sürümler etkilenmiş kabul ediliyor. Bildirimde bu açıkların şimdiye kadar saldırılarda kullanıldığına dair bir bilgi yok. Ayrıca yamadan sonra anahtarların yenilenmesi gerekip gerekmediği konusunda bir açıklama bulunmuyor.

Neden önemli

Varsayılan HTTP/2 yapılandırmasını kullanan ve henüz güncellenmemiş Node.js sunucuları, kimlik doğrulaması olmadan çökertilebilir. Erken yanıt veren ve istek gövdesini işleyen uygulamalar ise TLS özel anahtarlarını da içerecek şekilde bellek sızıntısı riski taşıyor. Destek süresi dolmuş hatlarda çalışan sunucular için yama gelmeyecek; bu sunucular ya yükseltilmeli ya da riskli kabul edilip değerlendirilmeli.

Kaynaklar · 1