Geri Dön

Imperva, Oluşturulmuş Brotli Verileriyle Node.js Üzerinde Node2Shell RCE'yi Gösterdi
SiTech AI Team2 dk okuma

Imperva, Oluşturulmuş Brotli Verileriyle Node.js Üzerinde Node2Shell RCE'yi Gösterdi

Imperva araştırmacıları, resmi Node.js 24.22.0 Linux arm64 yapısında, özel Brotli verileri kullanarak uzaktan kod yürütmeyi, CVE-2026-111497'yi sömürerek gösterdi. Node.js 21 Ekim'de düzeltme yayımladı.

İstismar Gösterimi

Imperva araştırmacıları, Node2Shell adında bir kavram kanıtı sunarak, resmi Node.js 24.22.0 Linux arm64 imajında uzaktan kod yürütmeyi başardı. Saldırı, özel olarak oluşturulmuş Brotli sıkıştırılmış verileri paketlenmiş Brotli çözücüsüne besleyerek CVE-2026-111497'yi tetikliyor. İstismar, test ortamında birkaç deneme gerektirdi ve yalnızca o belirli yapıda başarılı oldu; düzeltilmiş 24.22.1 sürümü kötü amaçlı veriyi reddediyor ve kod yürütmeyi engelliyor.

Etkilenen Uygulamalar

Güvenlik açığı, Node.js'in içerdiği Brotli çözücüsünde yer alıyor; bu nedenle 22.x, 24.x ve 26.x sürüm hatlarında çalışan tüm uygulamalar potansiyel olarak maruz kalıyor. Bir hizmet, yerleşik fetch işlevi aracılığıyla Brotli sıkıştırılmış bir yanıt okuduğunda veya ara yazılım Brotli sıkıştırılmış bir istek gövdesini çözdüğünde çözücüye erişebilir. Express 5 gövde ayrıştırıcıları (express.json, express.urlencoded, express.text ve express.raw) artık Brotli istek gövdelerini çözüyor; body-parser sürümleri 2.0.0 ile 2.3.0 arası da aynı işlemi yapıyor. Sade bir Node.js HTTP sunucusu Brotli istek gövdelerini otomatik olarak çözmez.

Teknik Ayrıntılar

Imperva, hatayı Brotli akışında imkansız bir blok geçişinin çözücü tarafından işlenmesine bağladı. Kötü amaçlı akış, akış yapısı kurallarının dışında kalan blok türlerini ilan ederek, çözücünün daha fazla giriş istemesini ve geçersiz bir durumda devam etmesini sağlıyor. Bellek sanitizer testi, o durumdan devam etmenin amaçlanan bir tamponun ötesine yazdığını, güvenlik açığının temelini oluşturan sınır dışı yazmayı ürettiğini gösterdi. Node.js, sorunu yukarı akış Brotli yamasını içe aktararak çözdü; bu yama çözücünün sorunlu noktada bir format hatasıyla durmasını sağlıyor.

Önlemler

Tek güvenilir çözüm, yamalanmış bir Node.js sürümüne güncellemektir. 20.x gibi ömrü dolmuş hatlar düzeltmeyi almaz ve desteklenen bir hatta taşınmalıdır. Duyuru, çalışma zamanı için geçici bir çözüm listelememektedir; bu nedenle hemen güncelleyemeyen uygulamaların Node.js içinde bir yedek seçeneği yoktur. Imperva, uygulanabilir olduğunda etkilenen yollarda güvenilmeyen Brotli trafiğini sınırlamayı önerir. Vercel, 21 Ekim'de gelen isteklerde saldırıyı engelleyen web uygulaması güvenlik duvarı kuralları ekledi; ancak bu kurallar harici sunuculardan alınan Brotli yanıtlarını kapsamaz ve güncellemenin yerini tutmaz.

Kaynaklar: The Hacker News

SiTech

SiTech — AI destekli web geliştirme

Hızlı ve modern web siteleri kuruyor, AI'yı gerçek iş akışlarına taşıyoruz. Projeniz veya sorunuz mu var? Yardımcı olmaktan mutluluk duyarız.