Next.js 16.4.1 ve 15.5.28 Acil Güvenlik Güncellemesi: use cache ve SVG Kaynaklı Uzaktan Kod Çalıştırma Açıkları

Alesta WEB

Next.js 16.4.1 ve 15.5.28 Acil Güvenlik Güncellemesi: use cache ve SVG Kaynaklı Uzaktan Kod Çalıştırma Açıkları

Kısa cevap: Next.js, 14 Ekim 2026'da planlı olmayan (out-of-band) bir güvenlik güncellemesi yayımladı. 16.4.1 ve 15.5.28 sürümleri üç açığı kapatıyor: use cache fonksiyonlarında kimlik doğrulamasız uzaktan kod çalıştırma (kritik), SVG görsellerin optimize edilmesinde uzaktan kod çalıştırma (kritik, CVE-2026-96889) ve Server Actions üzerinden hizmet engelleme (yüksek). İki açık için geçici çözüm yok. 16.x kullanıyorsanız npm install next@16.4.1, 15.5 kullanıyorsanız npm install next@15.5.28 çalıştırıp uygulamayı yeniden derleyin.

Üç açık bir bakışta (Advisory overview)

Vercel bu güncellemeyi 8 Ekim'de önceden duyurmuştu. İki düzeltme, bağımlı kütüphanelerdeki gecikme nedeniyle Eylül güvenlik sürümünden bu tarihe ertelenmişti.

Ekranda SVG ve HTML kodu (SVG and HTML code on screen)
SVG açığı yalnızca görsel optimizasyonunda SVG'ye izin verilen ve glibc tabanlı Linux'ta çalışan uygulamaları etkiliyor. Fotoğraf: Florian Olivo / Unsplash
AçıkKimlikSeviyeEtkilenenDüzeltilen
use cache ile kod çalıştırmaGHSA-673q-mjm6-r5xrKritik16.0.0 – 16.4.016.4.1
SVG görsel optimizasyonu ile kod çalıştırmaCVE-2026-96889 / GHSA-2464-fhr4-w9xwKritik10.0.0 – 15.5.27, 16.0.0 – 16.4.015.5.28 (sharp 0.35.5+), 16.4.1
Server Actions ile hizmet engellemeGHSA-p3m5-59mp-jv5rYüksek13.0.0 – 15.5.27, 16.0.0 – 16.4.015.5.28, 16.4.1

15 Ekim itibarıyla bilinen bir istismar raporu yok. Ancak The Hacker News'in notuna göre use cache ve Server Actions tavsiyelerinin henüz CVE numarası yoktu ve npm tavsiye akışında görünmüyordu; yani npm audit bu iki açığı size göstermeyebilir.

use cache ile uzaktan kod çalıştırma (Critical)

Açık, React Server Components paketlerinde (react-server-dom-webpack, -parcel, -turbopack, 19.0.0 – 19.3.0) bulunuyor. React tarafındaki tavsiye GHSA-xqc2-xf4c-x3h3. Tetiklenmesi için uygulamanın App Router ve Cache Components kullanması ve bir use cache fonksiyonunun birden fazla typed array (ör. Uint8Array) döndürmesi gerekiyor.

Koşul dar görünse de Vercel'in tavsiyesi açık: "Uygulamanızda benzer fonksiyon olmasa bile hemen yükseltin." Next.js 16.4 ile Cache Components, create-next-app'te varsayılan hale geldiği için yeni açılan projelerin çoğu bu modeli kullanıyor. Geçici çözüm yok. React ekibi bu açığın Aralık 2025'teki React2Shell'den çok daha dar olduğunu belirtiyor; React2Shell'i bu yazımızda anlatmıştık.

SVG ve sharp kaynaklı açık (CVE-2026-96889)

Next.js'in görsel optimizasyon API'si (/_next/image) sharp paketini, o da SVG için librsvg kütüphanesini kullanıyor. librsvg'deki bellek hatası, glibc tabanlı Linux sunucularda (Ubuntu, Debian, AlmaLinux gibi) uzaktan kod çalıştırmaya kadar gidebiliyor. Alpine gibi musl tabanlı sistemler bu açıktan etkilenmiyor.

  • Next.js varsayılan olarak SVG optimize etmiyor. Risk, next.config içinde images.dangerouslyAllowSVG: true açıksa ortaya çıkıyor.
  • Node.js çalışma ortamındaki next/og (Open Graph görsel üretimi) de etkileniyor.
  • Red Hat alttaki açığı 7.8 puanla ve kullanıcı etkileşimi gerektiren bir açık olarak değerlendirdi; Vercel ise Next.js üzerinden ağdan erişilebildiği için 9.5 verdi.
  • Açığı Rafael B. Dias bildirdi.

Hemen yükseltemiyorsanız geçici çözüm: Next.js'in kullandığı sharp sürümünü 0.35.5 veya üstüne çıkarmak. Bu, Ağustos'taki libheif (AVIF) ve Eylül'deki next/og açığından sonra Next.js görsel işleme hattında üçüncü kod çalıştırma açığı.

Server Actions hizmet engelleme (High)

App Router kullanan ve en az bir Server Action içeren uygulamalarda, özel hazırlanmış istekler tek bir sunucu sürecinin işlemcisini yüzde 100'e çıkarabiliyor. O süreç başka isteklere cevap veremez hale geliyor. Pages Router kullanan veya hiç Server Action içermeyen uygulamalar etkilenmiyor. Geçici çözüm yok.

Bu açık özellikle tek süreçle (ör. tek PM2 örneği) çalışan siteler için önemli: tek bir saldırgan isteği tüm siteyi yavaşlatabilir. Form gönderimi, iletişim formu, yorum, giriş gibi işlerin çoğu Server Action ile yazıldığı için etkilenen uygulama sayısı fazla.

Adım adım güncelleme (Upgrade steps)

Python
# 1) Mevcut sürümleri görün
npm ls next react react-dom sharp

# 2) Yükseltin (hattınıza uygun olanı)
npm install next@16.4.1      # 16.x kullananlar
npm install next@15.5.28     # 15.5 kullananlar

# 3) 15.5 hattında sharp'ı ayrıca kontrol edin
npm ls sharp                 # 0.35.5 veya üstü olmalı
npm install sharp@^0.35.5    # eski 0.34.x kaldıysa

# 4) Yeniden derleyip yayına alın
npm run build
pm2 reload <uygulama-adı>

Dikkat: 16.3.x kullanan projeler için 16.3 hattında yama yok; düzeltme 16.4.1 ile geliyor. 16.4, Cache Components'ı önerilen programlama modeli yaptığı için ara sürüm geçişinde de derleme sonrası önemli sayfaları (form, giriş, önbellekli listeler) test etmek gerekiyor. Next.js 16'nın önbellek modelini Next.js 16 rehberimizde anlatmıştık.

Netlify, kendi platformunun etkilenen görsel optimizasyon yolunu çalıştırmadığını açıkladı ama yine de yükseltmeyi öneriyor. Vercel'de barındırılan projelerde de paket sürümünü yükseltmek proje sahibinin sorumluluğunda.

Etkilenip etkilenmediğinizi kontrol etme (Exposure check)

Bash
# Server Action var mı?
grep -rl "use server" app src | wc -l

# use cache kullanılıyor mu?
grep -rl "use cache" app src

# SVG optimizasyonu açık mı?
grep -n "dangerouslyAllowSVG" next.config.*

# Sunucu glibc mi, musl mu?
ldd --version | head -1

Alesta WEB olarak Next.js ile geliştirdiğimiz projelerde bu tür bağımlılık açıklarını proje bazında kontrol edip derleme ve yayına alma işini kesintisiz yapıyoruz: yeni derleme ayrı dizinde hazırlanıyor, testten sonra çalışan sürümle yer değiştiriyor. Web yazılım hizmetlerimiz hakkında bilgi alabilirsiniz.

Sık sorulan sorular

Hangi Next.js sürümüne geçmeliyim?

16.x için 16.4.1, 15.5 için 15.5.28. Daha eski ana sürümlerde (14 ve öncesi) bu düzeltmeler yok; desteklenen bir hatta geçmek gerekiyor.

Pages Router kullanıyorum, etkilenir miyim?

Server Actions açığından etkilenmezsiniz. dangerouslyAllowSVG açıksa ve glibc tabanlı Linux'ta çalışıyorsanız SVG açığından etkilenebilirsiniz.

npm audit neden uyarı vermiyor?

15 Ekim itibarıyla iki tavsiyenin CVE numarası yoktu ve npm akışında görünmüyordu. Sürümü elle kontrol edin.

Açık aktif olarak kullanılıyor mu?

15 Ekim itibarıyla kamuya açık bir istismar raporu yok.

İlgili yazılar: Next.js 16 yenilikleri · React2Shell açığı · Mobil uygulama geliştirme · İletişim

Kapak fotoğrafı: Ilya Pavlov / Unsplash

Hazır mısınız?

Projenizi birlikte planlayalım

Haber sitesi, adisyon, QR menü ya da kurumsal web sitesi — ihtiyacınızı dinleyelim, demo hesabı açalım ve yazılı teklifimizi iletelim. Görüşme ücretsizdir.

WhatsAppAra