Teknoloji ve güvenlik · · 7 dk. okuma
İki kritik Next.js açığı: Şimdi ne yapmanız gerekiyor?
Next.js için iki kritik güvenlik açığı doğrulandı. Şirketinizin web sitesinin, mağazanızın veya müşteri portalınızın etkilenip etkilenmediği, kullanılan işlevlere ve sürümlere bağlıdır. Canlı ortamdaki dağıtımı kontrol ettirin: Bu, uygulamanızın fiilen yayımlanmış hâlidir. Bu makaledeki araştırma bilgileri 22 Ekim 2026 tarihi itibarıyladır.

Next.js’de ne oldu?
Next.js, sunucuda da çalışan web uygulamaları için kullanılan bir yazılımdır. Üretici, 14 Ekim 2026’da iki güvenlik duyurusu yayımladı. Her ikisi de uzaktan kod çalıştırma, kısaca RCE olasılığını açıklıyor: Belirli koşullarda saldırganlar sunucuda kendilerine ait program kodunu çalıştırabilir.
Görüntü işleme açığının kimliği GHSA-2464-fhr4-w9xw / CVE-2026-96889. Açık, sunucu tarafında görüntü optimizasyonu sağlayan Image Optimization işlevini etkiliyor. Saldırganın kontrolündeki SVG grafik içeriğinin, kabul edilen bir görüntü kaynağı üzerinden savunmasız işleme mekanizmasına ulaşması gerekiyor. Bu yol, glibc sistem kitaplığını kullanan Linux üzerinde açıklanıyor.
Üretici, görüntü işleme açığı için Next.js 10.0.0 ile 15.5.27 arasını, her iki sürüm dâhil olmak üzere, ayrıca 16.0.0’dan büyük ve 16.4.0’a kadar olan sürümleri, üst sınır dâhil, belirtiyor. Tam olarak 16.0.0’ın durumu belirsizliğini koruyor: NHS England bu sürümü de etkilenmiş olarak listeliyor; araştırmada üreticinin bir açıklaması bulunmuyor. Bu nedenle 16.0.0 için tehlikenin olmadığı sonucu çıkarılamaz. Araştırma, ön sürümler için açık sınırlar belirtmiyor.
Önbellek açığı GHSA-673q-mjm6-r5xr, 16.0.0 ile 16.4.0 arasındaki sürümleri, her ikisi dâhil, etkiliyor. Üreticinin duyurusunda bilinen bir CVE kimliği yer almıyor. Sayfa yönetimi için App Router, önbellekleme için Cache Components ve birden fazla veri türü belirlenmiş dizi (Typed Arrays) döndüren, “use cache” ile işaretlenmiş bir işlevin bir arada bulunması gerekiyor. Görüntü optimizasyonu ve sharp, bu açık için belirtilen ön koşullar arasında değil; duyuruda glibc veya kendi yönettiğiniz sunucularla sınırlı olduğu da belirtilmiyor.
Bu iki açık gerçekte ne kadar tehlikeli?
Her iki açık da güvenlik açıklarının teknik ciddiyetini değerlendiren CVSS 4.0 sistemine göre 9,5 puan alıyor. Değerlendirmeye göre önceden yetki elde edilmeden veya kullanıcı etkileşimi olmadan ağ üzerinden saldırı mümkün. Yine de teknik ön koşulların karşılanması gerekiyor.
Araştırmada yalnızca görüntü işleme açığı için herkese açık gösterim kodu, yani Proof of Concept veya PoC belgeleniyor. Bir yazar, görüntü optimizasyonu üzerinden kod çalıştırılmasını açıklıyor; kodun çalıştığı bağımsız olarak doğrulanmış değil. Önbellek açığı için doğruluğu desteklenen, herkese açık bir saldırı kodu bulunamadı.
İncelenen kaynaklarda, araştırılan yollar üzerinden aktif istismar veya başarılı sistem ihlalleri belgelenmiyor. İstismar edildiği bilinen güvenlik açıklarının yer aldığı CISA-KEV kataloğunun 21 Ekim 2026 tarihli verilerinde ne görüntü işleme açığının CVE’si ne de önbellek açığının kimliğiyle eşleşen bir kayıt vardı. Ne bir PoC ne de bir saldırı girişimi, başarılı bir sistem ihlalini kanıtlar. KEV kaydının bulunmaması, saldırı olmadığı garantisini vermez.
Hangi sürümler bu iki açığı gideriyor?
Aşağıdaki asgari sürümler yalnızca bu güvenlik açıklarına ilişkindir. Araştırmada eski Next.js sürüm dalları için ayrı düzeltilmiş sürümler belirtilmiyor. Gerekli bir sürüm geçişi varsa planlanmasını sağlayın.
Next.js 15.5.28 için sürüm numarası tek başına yeterli değildir: Paket açıklaması olan manifest, sharp için isteğe bağlı bağımlılık olarak ^0.34.3 || ^0.35.5 aralığına izin verir. Böylece eski sürüm dalı da kabul edilmeye devam eder. Kilit dosyası, seçilen paket sürümlerini kesin olarak kaydeder ve hâlâ eski bir sharp sürümü içerebilir. Belirleyici olan, Next.js’nin fiilen kullandığı sürümdür. 16.4.1 ve 16.4.2 zaten ^0.35.5 belirtir.
- Next.js 15: 15.5.28, görüntü işleme açığının ilk resmî düzeltmesidir. Fiilen kullanılan sharp görüntü kitaplığının da en az 0.35.5 olması gerekir.
- Next.js 16: 16.4.1, her iki açığı da gideren ilk sürümdür. 16.4.2, düzeltmeleri içermeye devam eden ve kontrol edilmiş sonraki sürümdür; yeni ilan edilmiş bir asgari sürüm değildir.
- sharp: en az 0.35.5. Düzeltilmiş hazır paketler, SVG işleme için librsvg 2.63.2 içerir. librsvg sistemden ayrıca bağlanıyorsa projeyi sürdüren geliştirici, bunun 2.63.2’ye güncellenmesini ister.
Web sitemin etkilenip etkilenmediğini nasıl kontrol ederim?
Kontrol için projeye veya barındırma yönetimine erişim gerekir; root yetkileri, yani sunucuya tam yönetici erişimi gerekmez. Bu erişimleriniz yoksa kontrolü işletmeciniz yapar.
Kaynak kodu, kilit dosyası, kurulum ve canlı ortamdaki dağıtım birbirinden ayrılmalıdır: Kaynak kodu işlevleri, kilit dosyası ise seçilen bağımlılıkları tanımlar. Yerel bir kurulum ve güncellenmiş bir proje, çalışan hizmetin güncellendiğini henüz kanıtlamaz.
- Sorumluluğu netleştirin: Web sitesi, mağaza ve müşteri portalı için ayrı ayrı Next.js kullanılıp kullanılmadığını ve uygulamayı kimin işlettiğini sorun.
- Paket dosyalarını kontrol edin: package.json içinde next ve sharp arayın. Burada sürüm aralıkları bulunabilir; package-lock.json, pnpm-lock.yaml veya yarn.lock ise kesin sürümleri kaydeder.
- Kurulum bilgilerini alın: npm ile uyumlu bir kurulum mevcutsa proje dizininde npm ls next sharp --all çalıştırın. npm bir paket yöneticisidir. Özellikle Next.js’nin kullandığı kopya olmak üzere tüm sharp kopyalarını dikkate alın. Paketler eksikse ajansınızdan çözümlenmiş bağımlılık ağacını isteyin.
- Ön koşulları kontrol ettirin: Görüntü kaynaklarını, SVG işlemeyi ve glibc-Linux’u; App Router, Cache Components ve “use cache” dönüş değerlerinden ayrı kontrol edin. Kendi kodunuzda arama sonucu bulunmaması, tehlikenin olmadığı sonucuna varmak için yeterli değildir.
- Canlı ortamdaki durumu kanıtlayın: Barındırma yönetiminde etkin dağıtımı seçin. İlgili kaynak kodu ve kilit dosyası sürümlerini, uygulamanın oluşturulma kaydı olan derleme günlüğüyle karşılaştırın. Fiilen yayımlanan sürümleri teyit ettirin.
Ajansıma veya barındırma sağlayıcıma ne yazmalıyım?
Bu talebi kopyalayın ve alan adınızı ekleyin:
“Merhaba, lütfen [Domain] adresindeki web sitemizi GHSA-2464-fhr4-w9xw / CVE-2026-96889 ve GHSA-673q-mjm6-r5xr açısından kontrol edin. Birden fazla sharp örneği varsa bunları ve Next.js’nin kullandığı örneği de kapsayacak şekilde, canlı ortamdaki Next.js ve sharp sürümlerini belirtin. Bunları ilgili kilit dosyası sürümü ve derleme günlüğüyle birlikte etkin dağıtım üzerinden kanıtlayın. Image Optimization, kabul edilen görüntü kaynakları, SVG işleme, görüntü işleyen hizmet ve glibc-Linux’u; App Router, Cache Components ve birden fazla Typed Arrays döndüren use cache kullanımından ayrı kontrol edin. Güncelleme gerekiyorsa ardından canlı ortamdaki sürümleri ve düzeltilmiş dağıtımın tarihini, saatini, saat dilimini ve kimliğini teyit edin. Site etkilenmiyorsa lütfen bunun somut teknik gerekçesini belirtin. Teşekkür ederiz.”
Güncelleme hemen yapılamıyorsa ne yapmalısınız?
Üreticiye göre önbellek açığı için bilinen bir geçici çözüm, yani alternatif önlem yok. Projenizde koşullara uyan bir işlev olduğunu bilmiyor olsanız bile derhâl güncelleme öneriyor.
Görüntü üzerinden işleyen yol için sharp projesini sürdüren geliştirici, SVG işlemenin sharp.block({ operation: ["VipsForeignLoadSvg"] }) ile engellenmesini belgeliyor. Geliştiriciler bunun fiilen kullanılan süreçte etkili olduğundan emin olmalıdır. Bu önlem, önbellek açığına karşı yardımcı olmaz. Yalnızca SVG algılama ve dangerouslyAllowSVG: false, kanıtlanmış koruma sağlamaz.
Araştırmada Cloudflare veya web isteklerini filtreleyen bir WAF için özel bir koruma kuralı belgelenmiyor. Genel koruma işlevleri, yamanın uygulandığına ilişkin kanıtın yerini tutmaz.
Paketlerin ve kilit dosyasının güncellenmesini, uygulamanın yeniden derlenmesini ve düzeltilmiş dağıtımın yayımlanmasını sağlayın. npm ci, mevcut kilit dosyasını değiştirmeden kullanır. Paketler güncellenmeden yeniden başlatmak açığı gidermez.
Next.js güvenlik açıkları hakkında sık sorulan sorular
WordPress ve eklentiler güncel – bu yeterli mi?
Yalnızca PHP/WordPress kullanan bir web sitesi, sırf bu Next.js duyuruları nedeniyle etkilenmiş sayılmaz. Ayrıca çalıştırılan bir Next.js ön yüzü varsa ayrı kontrol edilmelidir. WordPress, PHP ve tarayıcı sürümleri, onun durumunu kanıtlamaz.
Cloudflare koruma sağlar mı?
İncelenen bilgilerde bu kimliklere yönelik özel bir koruma kuralı belgelenmiyor. Genel koruma işlevleri, bu açıkların kapsandığını teyit etmez. Düzeltilmiş canlı ortam sürümlerinin kanıtını isteyin.
Statik web sitem var – etkileniyor muyum?
Açıklanan sunucu tarafı işlevler yoksa bu saldırı yollarının ön koşulları da yoktur. Yalnızca hazır dosyaların mı sunulduğunu, yoksa ayrıca bir Next.js uygulamasının veya görüntü işlemenin de çalışıp çalışmadığını teyit ettirin.
Next.js 15.5.28 – güvende miyim?
Manifest, eski sharp sürüm dalı ^0.34.3’e hâlâ izin verir. Next.js’nin fiilen sharp 0.35.5 veya üstünü kullandığını kilit dosyasında ve canlı ortamdaki dağıtımda kontrol ettirin. Bu ifade yalnızca incelenen görüntü işleme açığı için geçerlidir.
Vercel/Managed Hosting – bir şey yapmam gerekiyor mu?
Kendi dağıtımınızın kesin durumunu teyit ettirin. Araştırmada tüm Vercel dağıtımları için otomatik ve eksiksiz koruma belgelenmiyor. Managed Hosting, yani yönetilen barındırmada, sorumluluklar ve koruma önlemleri sağlayıcıya ve kullanılan hizmete bağlıdır.
Bir saldırıyı nasıl fark ederim?
Engellenmiş bir web isteği, başarılı bir sistem ihlalini kanıtlamaz. Somut bir şüpheniz varsa işletmecinizden incelemesini isteyin. İncelenen bilgilerde bu yollar üzerinden doğrulanmış sistem ihlalleri belgelenmiyor.