· kaynak dev.to (home feed)
Node.js, 22.x, 24.x ve 26.x hatlarında yüksek şiddetli Brotli açığının başını çektiği on güvenlik açığını yamaladı
Node.js, 22.x, 24.x ve 26.x hatları için güvenlik sürümleri yayımladı ve yapay zekâ destekli araştırmayla bulgu elde edilen bir Brotli decompression hatası dahil — dördü yüksek şiddetli — on güvenlik açığını kapattı.

Node.js Ekim güvenlik sürümlerini yayımladı
21 Ekim 2026'da Node.js, 22.x, 24.x ve 26.x hatları için güvenlik sürümleri yayımlayarak dördü yüksek şiddetli olmak üzere on güvenlik açığını kapattı. Öne çıkan düzeltme Brotli decompressor'ını hedefliyor; burada manipüle edilmiş sıkıştırılmış veri sınırlar dışına yazmaya (out-of-bounds write) yol açabiliyor. Ayrıntılar, Total.js projesi tarafından dev.to üzerindeki bir güvenlik yazısında belgelendi; yazı framework ekibinin advisory'ye nasıl yanıt verdiğini de kaydediyor.
Neler düzeltildi
Total.js yazısına göre düzeltme grubu şunları kapsıyor:
- Brotli decoder (node:zlib), yüksek şiddet: hazırlanmış sıkıştırılmış veri sınırlar dışına yazmaya neden olabiliyor. Uygulamanın güvenilmeyen girdiyi ele alma biçimine göre etki, çökmeden bellek içeriğinin açığa çıkmasına kadar uzanıyor.
- DNS çözümlemesi (dns.resolve*()), yüksek şiddet: NUL byte içeren bir hostname kesiliyor; yani doğrulamadan geçmiş bir ad tamamen farklı bir host'u çözümleyebiliyor.
- tls.checkServerIdentity(), yüksek veya orta: alışılmadık biçimlerde yazılmış IPv4 adresleri — ASCII olmayan rakamlar, baştaki sıfırlar, 0x7f.0.0.1 gibi hexadecimal kısaltmalar veya 127.1 gibi kısaltmalar — sertifika denetimi ile işletim sistemi tarafından farklı biçimde yorumlanabiliyor.
- HTTP keep-alive agent, orta şiddet: yeniden kullanılan bir socket üzerinde bekleyen istenmeyen bir yanıt, sonraki bir isteğin yanıtı olarak kabul edilebiliyor.
- Snapshot'lar, permission model ve ZIP dosyası okuma, orta ile düşük arası: çoğu uygulamanın dokunmadığı özelliklerde dar kapsamlı sorunlar.
Yapay zekâ destekli bir keşif
Brotli açığı, yazının yapay zekâ destekli olarak nitelendirdiği bir OpenAI aracı olan Codex Security tarafından, iki bağımsız güvenlik araştırmacısıyla birlikte çalışarak bildirildi; düzeltmeyi Node.js maintainers'ları hazırladı. Total.js yazısı bunu, güvenlik araştırmasının nasıl değiştiğinin bir fotoğrafı olarak sunuyor: makine destekli araçlar karmaşık koddaki şüpheli davranışları ortaya çıkarırken, bulguları doğrulayan ve yamaları maintainers'larla koordine eden insanlar.
Total.js hostname işlemeyi güçlendiriyor
Güvenlik açıkları onun üzerine inşa edilen framework'lerde değil Node.js runtime'ında yer alıyor ve Total.js bilinçli olarak belirli bir Node.js sürümüne bağımlılıktan kaçınıyor. Yine de ekip, Total.js 4 ve Total.js 5'i advisory'ye karşı denetledi ve hostname'leri DNS'e veya bir TLS bağlantısına ulaşmadan önce normalize edip doğrulayan değişiklikler yayımladı:
- Uluslararasılaştırılmış alan adları ASCII punycode biçimlerine dönüştürülüyor.
- Alışılmadık IP yazımları noktalı gösterime canonicalize ediliyor; böylece 127.1 ve 0x7f.0.0.1 ikisi de 127.0.0.1 haline geliyor ve sertifika denetimi ile işletim sisteminin aynı adresi görmesi sağlanıyor.
- NUL byte, boşluk veya başka şekilde geçersiz adresler içeren adlar, ağa hiç ulaşmadan önceden net bir "Invalid hostname" hatasıyla reddediliyor.
Bu denetimler REQUEST(), U.resolve() ve HTTP redirect işlemeye uygulanıyor — böylece uzaktaki bir sunucu bir isteği Location header'ı aracılığıyla tuhaf bir adrese yönlendiremiyor — ayrıca U.connect()'e (LDAP desteği tarafından da kullanılıyor), Total.js 4 WebSocket istemcisine ve mail modülündeki SMTP sunucusuna. U.validhost() ve U.tohost() adlı iki yeni yardımcı, uygulama kodunun aynı doğrulamayı yeniden kullanmasını sağlıyor. Ekip, sıradan hostname'lerin, IPv6 adreslerinin ve mevcut punycode adlarının tamamen önceki gibi davrandığını, desteklenen en düşük Node.js sürümünün yükseltilmediğini ve değişikliklerin Node.js 14, 16, 18, 19, 20, 22, 24 ve 26 üzerinde tam test paketlerinden geçtiğini söylüyor.
Framework'ün kendisi Brotli hatasına hiç maruz kalmıyordu, çünkü Total.js yalnızca gzip ve deflate decompress ediyor. Buna karşılık keep-alive açığı yalnızca runtime içinde ele alınabilir.
Operatörler ne yapmalı
Yamalanmış sürümler Node.js 22.23.4, 24.22.1 ve 26.12.1 veya her hattın ilerisindeki sürümler. Yazı ayrıca Docker kullanıcılarını uyarıyor: host'u güncellemek bir container içindeki Node.js'i güncellemez ve lts ya da 24 gibi etiketler yalnızca pull edip yeniden derlediğinizde yeni build'leri alır; dolayısıyla image'lar yeniden derlenmeli, uygulamalar yeniden başlatılmalı ve etkin sürüm node --version ile doğrulanmalı. Total.js ekibi, en son Total.js 4 veya 5 sürümüne güncellemeyi ve güncellenmiş uygulamalar için GitHub depolarını kontrol etmeyi öneriyor. Brotli verisi decompress eden, kullanıcı tarafından sağlanan hostname'leri çözümleyen veya bağlanan ya da snapshot ya da permission model kullanan her kod tabanı, runtime yükseltmesini öncelik olarak görmeli.
Neden önemli
Üç aktif olarak bakım gören yayım hattına yayılmış on düzeltme, Node.js kurulu tabanının büyük bir bölümünün yama yapması gerektiği anlamına geliyor; Brotli ve DNS açıkları da güvenilmeyen sıkıştırılmış veriye veya hostname'lere dokunan her servisi etkileyebilir — bu, proxy'lerde, scraper'larda ve webhook işleyicilerinde yaygın bir örüntü. Bu olay ayrıca güvenlik çalışmalarında yapay zekâ tartışmasına somut bir veri noktası sunuyor: yapay zekâ destekli bir araç, dünya çapında kullanılan bir decompression yolundaki bellek güvenliği hatasını ortaya çıkardı ve doğrulama ile yamalama işini hâlâ insanlar yaptı. Son olarak, Total.js'nin yanıtı bir framework'ün hemen yükseltme yapamayan kullanıcılar için runtime düzeyindeki riskin bir kısmını emebileceğini gösteriyor — ama yalnızca bir kısmını, çünkü keep-alive açığının framework düzeyinde bir çözümü yok.
- #node-js
- #security
- #vulnerabilities
- #total-js
- #javascript
İlgili yazılar
- 4.15.3 yükseltmesi gelmeden önce dört stack üzerine yazma CVE'sine karşı NSD riskinin azaltılması
- Sızıntı sonrası erken yamalanan iki kritik PHP açığı, güncellenmeyen sunucuları RCE'ye açık bırakıyor
- k0t edge cihaz kampanyası Fortinet ve Palo Alto açıkları üzerinden 70.000'den fazla kimlik bilgisini açığa çıkardı