- Son doğrulama
- 31 Eki 2026
- CVE
- CVE-2026-111497, CVE-2026-105482, CVE-2026-105483, CVE-2026-106069
- Durum
- 22.23.4, 24.22.1 ve 26.12.1 ile düzeltildi. Node.js 20 end of life.
Ne oldu?
Node.js projesi 21 Ekim 2026’da 22.x, 24.x ve 26.x hatları için güvenlik güncellemesi yayınladı. 10 CVE düzeltildi: dördü High, üçü Medium, üçü Low. Node.js 20 end of life olduğu için bu düzeltmeleri almıyor.
| Hat | Düzeltilen sürüm |
|---|---|
| 22.x | 22.23.4 |
| 24.x | 24.22.1 |
| 26.x | 26.12.1 |
Dört High açık
| CVE | Ne olduğu |
|---|---|
| CVE-2026-111497 | Gömülü Brotli decoder’da, bozuk girdide out-of-bounds write. Process’i çökertebilir, memory sızdırabilir ya da remote code execution’a yol açabilir. |
| CVE-2026-105482 | dns.resolve*() ve dns.reverse() hostname’i NUL byte’ta kesiyor. Allowlist’inizden geçen bir isim başka bir ismin kayıtlarına çözülebilir. |
| CVE-2026-105483 | tls.checkServerIdentity() tam genişlikli rakamlarla yazılmış IP’leri IP saymıyor. DNS adı taşıyan bir sertifika bu IP’ler için kabul edilebilir. |
| CVE-2026-106069 | Başında sıfır olan IPv4 host, sertifika kontrolünde octal, OS resolver’da decimal okunuyor. Sertifika farklı bir IP için doğrulanabilir. |
Medium ve Low açıklar arasında alışılmadık IPv4 yazımları için başka sertifika kontrolleri, startup snapshot’larında tekrar eden crypto.randomUUID() değerleri ve permission modelindeki iki açık var. Sürümde c-ares, undici ve root certificate store da güncellendi. OpenSSL 22.x ve 24.x’te, SQLite 22.x’te güncellendi.
Brotli açığı, servisiniz dışarıdan gelen Brotli verisini çözüyorsa en çok önem taşır. Örneğin request body’leri, proxy’lenen yanıtlar ya da yüklenen dosyalar. TLS ve DNS açıkları, IP adresleri için sertifika doğruluyorsanız ya da hostname üzerinden allowlist kuruyorsanız önemlidir.
Çalıştırdığınız tüm Node’ları bulun
Genelde sorun ana uygulama değil. Eski image’da ya da Node 20 runtime’ında unutulmuş servis sorun çıkarır.
# Bir host veya container
node -v
# Çektiğiniz ya da build ettiğiniz bir image
docker run --rm your-image:tag node -v
# Node runtime kullanan AWS Lambda fonksiyonları
aws lambda list-functions --query "Functions[?starts_with(Runtime,'nodejs')].[FunctionName,Runtime]" --output text
# Image'ları bilinen açıklar için tarayın
trivy image --severity HIGH,CRITICAL your-image:tag
CI’a da bakın. actions/setup-node ve GitLab runner image’ları kendi Node sürümlerini sabitler, npm script’leri gibi build araçları da onun üzerinde çalışır.
Önce neyi güncellemeli?
- Dışarıdan gelen Brotli verisini çözen ya da IP için sertifika doğrulayan servisler. Bunları 22.23.4, 24.22.1 veya 26.12.1 ve üstüne alın.
- Node 20’deki her şey. Fix almayacak. 22 veya 24’e geçişi şimdiden planlayın.
- Container base image’ları. Cache kullanmadan yeniden build edin ki yeni Node ve güncel root sertifikalar gelsin.
node:22tag’i ancak gerçekten rebuild edip yeniden deploy ederseniz işe yarar. - Lambda ve diğer managed runtime’lar. Runtime’ın hangi Node sürümünü getirdiğine ve sağlayıcının ne zaman patch’lediğine bakın. Bekleyemiyorsanız container image ya da düzeltilmiş Node içeren bir layer kullanın.
Trust store notu
Sürümde, eMudhra intermediate CA compromise sonrası güncellenen root certificate store da var. Google Cloud aynı olayı GCP-2026-071 bülteninde listeliyor. Kendi OS image’larınızı veya container’larınızı yönetiyorsanız oradaki trust store’ları da güncelleyin.
Nasıl yardımcı olabiliriz?
Bir sonraki sefer bu işi bir saatlik hale getiren envanteri kurarız: her runtime, her image ve her pipeline, çalıştığı sürüm ve sahibiyle birlikte. AWS, Azure ve Google Cloud genelinde bunu istiyorsanız aşağıdaki butondan bir görüşme ayarlayın.