CVE-2026-111497 Brotli Açığı: Node.js, Python ve Ubuntu Etkileniyor, Yama Rehberi
CVE-2026-111497, Google'ın Brotli sıkıştırma kütüphanesindeki kritik bir bellek taşması açığı.

CVE-2026-111497, Google'ın Brotli sıkıştırma kütüphanesindeki kritik bir bellek taşması açığı. Brotli 1.0.3 ile 1.2.0 arasındaki tüm sürümleri etkiliyor; özel hazırlanmış bir Brotli verisi, kimlik doğrulaması olmadan belleği bozabiliyor, bellek içeriğini sızdırabiliyor, süreci çökertebiliyor ve teoride kod çalıştırabiliyor. CVSS 4.0 puanı 9,2 (kritik). Açık önce "Node2Shell", sonra Python, .NET ve Java'yı da kapsayınca "HTTP2Shell" adını aldı. Node.js 21 Ekim'de, Ubuntu ve diğer dağıtımlar izleyen günlerde yama yayımladı; yani çözüm var, ama Brotli'yi kendi içine gömen her yazılımın ayrıca güncellenmesi gerekiyor.
CVE-2026-111497 nedir ve neden bu kadar yaygın?
Brotli, Google'ın geliştirdiği kayıpsız bir sıkıştırma algoritması ve web'de HTML, CSS ve JavaScript'i küçültmek için yaygın kullanılıyor. Açık, referans C kodundaki decoder'da (c/dec/decode.c) bir sınır dışı yazma hatası: Decoder, geçersiz bir blok geçişini reddetmesi gerekirken daha fazla bayt kabul etmeye devam ediyor ve gelen baytlar küçük bir çalışma tamponunu aşarak komşu bellek alanını bozuyor.
Hatanın kaynak kodda 27 Şubat'ta düzeltildiği, ancak bunun güvenlik açığı olarak etiketlenmediği ve hiçbir Brotli sürümüne 21 Ekim'e kadar girmediği belirtiliyor. Bu yüzden Brotli'yi projesine gömen (vendored) her yazılım kendi güncellemesini yayımlamak zorunda; Phoenix Security'nin ifadesiyle, kendi kopyasını taşıyan her proje şimdi geç yama yayımlıyor. Açığı OpenAI'ın Codex Security ekibi bildirdi.
Saldırı hangi yönlerden geliyor?
Açık iki yönde istismar edilebiliyor:
- Sunucuya doğru: Saldırgan, istek gövdesini Brotli'den açan bir sunucuya
Content-Encoding: brbaşlıklı veri gönderir. Express 5 ve body-parser 2.x bunu varsayılan olarak yapıyor; düz bir Node.js http sunucusu yapmıyor. - İstemciye doğru: Saldırganın kontrolündeki bir sunucu, Brotli yanıtını otomatik açan bir istemciyi hedefler. Node.js ve Bun'un
fetch()'i, Python'darequests,urllib3,aiohttp,httpx, Scrapy ve otomatik açma açık olan libcurl bu gruba giriyor.
Dosya girdileri de yol açabilir: Parquet, JPEG XL, WOFF2, PDF, arşivler ve firmware imajları. Yani bir uygulama kodunda tek satır Brotli çağırmasa bile, kullandığı bir kütüphane üzerinden etkilenebilir.
Gerçek risk ne kadar? Abartıları ayıklayalım
Sosyal medyada açık "anahtar teslim uzaktan kod çalıştırma" diye dolaşıyor. Kaynaklara göre tablo daha ayrıntılı:
- İstismar: CISA'nın SSVC değerlendirmesi (23 Ekim) "istismar yok, otomatikleştirilebilir değil, teknik etki toplam" diyor. Açık, 24 Ekim itibarıyla CISA'nın bilinen istismar edilen açıklar (KEV) listesinde değildi.
- PoC: Herkese açık kanıt kodu yalnızca bilerek zayıflatılmış bir derlemede kod çalıştırıyor; standart derlemelerde çöküyor. Red Hat, kod çalıştırmak için güvenilir bir açık PoC olmadığını belirtiyor.
- Ama gerçek: Imperva'nın kırmızı takımı, standart bir Node.js 24.22.0 Linux arm64 derlemesinde saldırgan kodunu çalıştırdı; bunu hem
fetch()yanıtı hem de Express istek gövdesi olarak gösterdi. Birkaç deneme gerektirdi ve yayımlanmadı. - Güvenli kalanlar: Apache'nin standart
mod_brotlimodülü veri açmıyor, yalnızca sıkıştırıyor. Go (andybalholm/brotli) ve Rust (brotli-decompressor) portları aynı mantık hatasını taşısa da kontrollü biçimde hata verip çöküyor. .NET Framework etkilenmiyor.
Özetle: Gerçek ve ciddi bir açık, ama her sunucu otomatik olarak hedef değil. Risk, uygulamanızın saldırgan kontrolündeki Brotli verisini açıp açmadığına bağlı.
Düzeltilmiş sürümler
| Yazılım | Düzeltilmiş sürüm |
|---|---|
| Brotli (libbrotli) | 1.2.1; eski hatlar için 1.1.1 ve 1.0.10 |
| Node.js | 22.23.4, 24.22.1, 26.12.1 (18, 20 ve 25 için resmî düzeltme yok) |
| Python (Brotli / brotlicffi) | Brotli 1.2.1, brotlicffi 1.2.1.0 ve üstü |
| .NET | 8.0.33, 9.0.22, 10.0.14 (self-contained uygulamalar yeniden derlenmeli) |
| Java brotli4j | 1.24.0 |
| Bun | 1.4.4 ve üstü |
| Envoy | 1.40.0, 1.39.3, 1.38.6, 1.37.8 |
| Istio | 1.29.9, 1.30.6, 1.31.2 |
Qualys'in verilerine göre Node.js kurulumlarının yaklaşık onda dokuzu ya yamasız ya da artık yama almayan bir sürümde. Node.js düzeltmesi çalışma zamanının kendisinde olduğu için, uygulama bağımlılıklarını güncellemek yetmiyor.
Ubuntu ve diğer Linux dağıtımlarında durum
Ubuntu açığı "High" olarak derecelendirdi ve düzeltmeleri sürüm sürüm yayımladı:
| Ubuntu sürümü | Düzeltilmiş brotli paketi |
|---|---|
| 26.10 | 1.2.0-4ubuntu0.1 |
| 26.04 LTS | 1.2.0-3ubuntu0.1 |
| 24.04 LTS | 1.1.0-2ubuntu0.1 |
| 22.04 LTS | 1.0.9-2ubuntu0.1 |
| 20.04 LTS | 1.0.7-6ubuntu0.1+esm1 (ESM, Ubuntu Pro gerekir) |
| 18.04 LTS | 1.0.3-1ubuntu1.3+esm1 (ESM) |
Ubuntu'nun nodejs paketi 22.04, 24.04 ve 26.04'te sistemin Brotli'sini kullandığı için ayrıca etkilenmiyor olarak işaretli; 20.04'teki nodejs ise kendi Brotli'sini taşıdığı için hâlâ "gerekli" durumda. Aikido'nun 27 Ekim tablosuna göre Debian 12/13, Alpine ve Amazon Linux 2023 için yama mevcut; Fedora 43-45, standart RHEL depoları ve SUSE'de henüz yama yok (Red Hat yalnızca Hardened Images ile sunuyor). Bu durum hızla değişiyor, kendi dağıtımınızın sayfasına bakın.
Adım adım ne yapmalı?
- Sürümü ve paketleri kontrol edin:
lsb_release -avedpkg-query -W brotli libbrotli1 python3-brotli. - Güvenlik güncellemelerini uygulayın:
sudo apt updatevesudo apt install --only-upgrade libbrotli1 brotli python3-brotli. - Servisleri yeniden başlatın: Çalışan süreçler eski kütüphaneyi bellekte tutar.
needrestarthangi servislerin etkilendiğini gösterir. - Node.js'i ayrıca kontrol edin:
node -p "process.versions.node"sürümü yukarıdaki düzeltilmiş sürümlerden en az biri olmalı. Kaynaktan, NodeSource veya nvm ile kurulan Node kendi Brotli'sini taşır;apt upgradebunu güncellemez. - Python'u tarayın:
pip list | grep -i brotli. Pillow, pyarrow ve pycurl gibi kendi decoder'ını gömen paketler ayrıca güncellenmeli. - Container imajlarını yeniden derleyin: Sorun çekirdekte (kernel) değil; imajın içindeki Brotli ve çalışma zamanı sürümlerinde. Sunucunun güncellenmesi imajı güncellemez.
Hemen yama yapamıyorsanız
Phoenix Security'nin önerdiği geçici önlemler: Express 5 veya body-parser 2.x kullanıyorsanız Content-Encoding başlığında br bulunan istekleri ara katman ya da proxy düzeyinde reddedin. curl'de --compressed seçeneğini çıkarın. Python'da isteğe bağlıysa brotli ve brotlicffi paketlerini kaldırın. Ancak Node.js ve Bun'un fetch()'inin Brotli yanıtlarını otomatik açmasını kapatmanın standart bir yolu yok; bu yönde tek çözüm çalışma zamanını güncellemek.
Sonuç
CVE-2026-111497, tek bir yazılımın değil, bir bileşenin yayıldığı yerlerin sorunu. Aktif istismar bilinmiyor ve standart derlemelerde güvenilir bir açık PoC yok; ancak Imperva'nın gösterdiği gibi kod çalıştırma teknik olarak mümkün. En doğru yaklaşım: Ubuntu paketini güncellemek, Node.js sürümünü ayrıca doğrulamak ve servisleri yeniden başlatmak. Benzer şekilde son haftalarda gündemde olan sunucu açıkları için PHP2Shell yazımıza da göz atabilirsiniz.
Kaynaklar
Sıkça Sorulan Sorular
CVE-2026-111497 nedir?
Hangi Node.js sürümleri düzeltildi?
Ubuntu etkileniyor mu?
Açık aktif olarak istismar ediliyor mu?
Yama sonrası yeniden başlatma gerekli mi?
Genel Yayın Yönetmeni
Teknokutu'nun genel yayın yönetmeni ve sorumlu kişisi. Teknoloji, oyun, donanım ve mobil cihaz haberleri ile rehber içeriklerinin yayın sorumluluğunu taşıyor.
İlgili İçerikler
YazılımUbuntu 26.04.1 LTS Çıktı: 24.04'ten Yükseltme Yolu Açıldı, İşte Değişenler
Canonical'ın nisan ayında yayınladığı uzun süreli destek sürümünün ilk ara güncellemesi Ubuntu 26.04.1 LTS, 27 Ağustos'ta kullanıma sunuldu.
Teknokutu Editör · · 5 dakikalık okuma
YazılımCanonical: Windows 11'de WSL Üzerinden Ubuntu Kullanımı 2026 Sonunda Masaüstünü Geçecek
Canonical'dan gelen ilginç bir açıklama, Linux dünyasında beklenmedik bir dengeyi işaret ediyor: Windows 11 üzerinde Windows Subsystem for Linux (WSL)…
Teknokutu Editör · · 2 dakikalık okuma
YazılımPHP güvenlik açığı PHP2Shell: Sitelerin yüzde 70'ini tehdit eden iki kritik açık ve yapılması gerekenler
PHP'nin çekirdeğinde bulunan ve "PHP2Shell" adı verilen iki kritik PHP güvenlik açığı, saldırganların hiçbir kullanıcı adı ya da parola gerekmeden sunucuda kod…
Teknokutu Editör · · 6 dakikalık okuma
Akıllı TelefoniOS 27.0.1 ve iOS 26.7.1 Yayınlandı: Face ID Hatası Giderildi, Saldırılarda Kullanılan Açık Kapatıldı
Apple, 28 Eylül'de iOS 27.0.1 ve iOS 26.7.1 güncellemelerini yayınladı.
Teknokutu Editör · · 6 dakikalık okuma
Yorumlar
Henüz yorum yok. İlk yorumu siz yazın.