Açık Nasıl Çalışıyor?
Açık, Brotli ile sıkıştırılmış bir veri akışını açarken arabelleğin sınırlarının aşılmasına ve programın belleğinin bozulmasına yol açıyor. Bu durum çökmeye, bellek sızıntısına ya da saldırgan tarafından belirlenen kodun çalıştırılmasına neden olabilir. Sorun, Google'ın Brotli C kütüphanesinin içinde yer aldığından ve her yazılım bu kütüphanenin kendi kopyasını paketlediğinden, etkilenen her ürünün güncellemeyi bağımsız olarak yapması gerekiyor.OpenAI'ın Codex Güvenlik ekibi açığı raporlayan taraf olarak açıklamalarında, güvenlik zafiyetinin iki yönlü çalıştığını belirtti: Sıkıştırılmış girdi kabul eden yamalanmamış bir sunucu kötü niyetli bir istemci tarafından ele geçirilebilirken, sıkıştırılmış girdi kabul eden yamalanmamış bir istemci de kötü niyetli bir sunucu tarafından ele geçirilebilir. Bunun yanı sıra açığın kimlik doğrulaması gerektirmeksizin uzaktan kod çalıştırılmasına olanak tanıdığı ifade edildi.
Hangi Yazılımlar Etkileniyor?
Açıktan etkilenen ve düzeltilmiş sürümleri içeren yazılımların listesi şöyle:- Google Brotli (C kütüphanesi): 1.0.3 ile 1.2.0 arası sürümler etkileniyor; 1.0.10, 1.1.1 ve 1.2.1 sürümleriyle giderildi.
- Node.js: 22.x, 24.x ve 26.x sürümlerinin yamasız halleri ile kullanım ömrü sona eren 20.x ve öncesi etkileniyor; 22.23.4, 24.22.1 ve 26.12.1 sürümleriyle giderildi.
- Bun: 1.4.3 ve öncesi etkileniyor; 1.4.4 sürümüyle giderildi.
- Envoy: 1.39.2, 1.38.5, 1.37.7 ve 1.36.11 sürümleri etkileniyor; yalnızca Brotli açma filtresi yapılandırılmışsa risk oluşuyor.
- Istio: 1.31.0-1.31.1, 1.30.0-1.30.5 ve 1.29.0-1.29.8 sürümleri etkileniyor; Brotli açma özelliği etkinleştirilmişse risk söz konusu.
- Python Brotli: 1.2.0 ve öncesi etkileniyor; 1.2.1 ile giderildi.
- Python brotlicffi: 1.2.0.x ve öncesi etkileniyor; 1.2.1.0 ile giderildi.
- cdxgen: 13.4.0 ve 12.8.8 dahil önceki sürümler etkileniyor; 13.5.0 ve 12.8.9 ile giderildi.
Imperva'nın Kanıtladığı Senaryo
Imperva'nın Kırmızı Takımı, Node2Shell adını verdiği çalışması kapsamında ARM64 mimarisinde Linux üzerinde çalışan yamalanmamış Node.js 24.22.0 derlemesinde saldırgan tarafından sağlanan kodu başarıyla çalıştırdı. Kod, hem alınan bir yanıt hem de Express istek gövdesi olarak iletildi. Saldırının birkaç deneme gerektirdiği ve diğer derlemeler üzerinde test edilmediği belirtildi; exploit henüz kamuoyuyla paylaşılmadı. Aynı durum listedeki diğer yazılımlarda kanıtlanamadı.CISA'nın 23 Ekim tarihli değerlendirmesi, açığın gerçek dünyada istismar edilmediğini ve otomatik saldırı araçlarının bulunmadığını kaydetti. Red Hat ise güvenilir ve kamuya açık bir kavram kanıtı istismarının mevcut olmadığını açıkladı. Öte yandan ciddiyet puanları kaynağa göre farklılık gösteriyor: Google açığı CVSS 4.0 ölçeğinde 9,2 ile kritik olarak değerlendirirken Node.js yüksek, Red Hat ise 8,1 ile önemli olarak nitelendirdi.
Açığın Geçmişi ve Düzeltmenin Gecikmesi
Açığı kapatan değişiklik, Brotli kaynak koduna 27 Şubat tarihinde eklendi; ancak bu değişikliği içeren yeni bir Brotli sürümü 21 Ekim'e kadar yayımlanmadı. OpenAI'ın açıklamasına göre söz konusu düzeltme Şubat ayında yapılmış olsa da o dönemde bunun bir güvenlik açığına yol açtığı bilinmiyordu ve daha yeni bir Brotli sürümü çıkmamıştı. Açık ilk olarak 21 Ekim'de kamuoyuna duyuruldu; Node.js ve Google aynı gün yamalarını yayımladı, diğer ürünler ise ardından birer birer güncelleme sundu. Node.js, açığı bildiren OpenAI Codex Güvenlik ekibinden Khai Tran ve Sylvie Mayer'e ve düzeltmeyi gerçekleştiren Matteo Collina ile Antoine du Hamel'e teşekkür etti.Kullanıcılar Ne Yapmalı?
Güvenlik uzmanları, etkilenen kullanıcılara yukarıdaki tabloya göre yamalı sürüme geçmelerini ve ardından servisi yeniden başlatmalarını ya da konteyner imajını yeniden oluşturmalarını öneriyor; çünkü çalışan bir süreç yeniden başlatılana kadar eski kod çözücüyü kullanmaya devam ediyor.Güncelleme hemen yapılamıyorsa OpenAI'ın açıklama sayfası ve Aikido güvenlik firması şu geçici önlemleri tavsiye ediyor: Herhangi bir proxy ya da ayrıştırıcı gövdeyi açmadan önce Content-Encoding: br içeren gelen istekleri reddetmek; HTTP istemcilerinde otomatik Brotli açmayı kapatmak ve Brotli yanıtları açılmadan önce reddetmek. Python'da ise Brotli ve brotlicffi paketlerini kaldırmak, böylece istemcilerin gzip ve deflate yöntemlerine geri dönmesini sağlamak öneriliyor. Accept-Encoding başlığından br değerini kaldırmanın tek başına yeterli olmadığı vurgulanıyor; zira bir sunucu istemci ne isterse istesin Brotli formatında yanıt gönderebilir. Node.js için yayımlanmış herhangi bir geçici çözüm bulunmuyor; bu nedenle çalışma ortamını güncellemek tek seçenek olarak öne çıkıyor.
Sistem paket yöneticileri de güncellemelerini farklı zamanlarda yayımlıyor. Debian, brotli paketini Debian 13 (trixie) için 23 Ekim'de 1.1.0-2+deb13u1 sürümüyle düzeltti. Amazon Linux 2023 ise 22 Ekim itibarıyla brotli ve Node.js 24 paketleri için düzeltmeyi bekliyor olarak listeliyordu. Bağımlılık tarayıcılarının Python paketlerini henüz işaretlemeyebileceği de dikkat çekiyor: CVE kaydı PyPI paketlerini değil Google'ın Brotli deposunu kapsıyor ve GitHub'ın danışma belgesi etkilenen paketi henüz listelemiyor. Python paketlerine ilişkin PYSEC-2026-4322 ve PYSEC-2026-4323 danışma girişleri 23 Ekim'de eklendi; bu nedenle yüklü sürümlerin manuel olarak kontrol edilmesi öneriliyor.

Yazılım ve Uygulamalar
Yazılım ve Uygulamalar
Yazılım ve Uygulamalar
Yorumlar (0)
Yorum yapmak için giriş yapmalısınız.