Vercel, Next.js'in ImageResponse özelliğinde kritik bir güvenlik açığı tespit etti. CVE-2026-94545 olarak izlenen açık, saldırganların sunucuda kod çalıştırmasına olanak tanıyabiliyor.
Yazılım ve Uygulamalar
Admin1 okunma

Next.js ImageResponse Açığı Sunucu Kod Çalıştırmasına Yol Açabilir

Vercel, Next.js'in ImageResponse özelliğinde kritik bir güvenlik açığı tespit etti. CVE-2026-94545 olarak izlenen açık, saldırganların sunucuda kod çalıştırmasına olanak tanıyabiliyor.

Next.js ImageResponse Açığı Sunucu Kod Çalıştırmasına Yol Açabilir

Haber detayı

Vercel, geliştirdiği Next.js çerçevesinde kritik bir güvenlik açığı keşfedildiğini duyurdu. CVE-2026-94545 koduyla takip edilen bu açık, Open Graph ve diğer sosyal önizleme görsellerini oluşturmakta kullanılan ImageResponse özelliğini etkiliyor. Saldırganların kontrolündeki değerler üretilen SVG içeriğine ulaştığında, sunucu üzerinde uzaktan kod çalıştırılması mümkün hale gelebiliyor.

Açık Hangi Sürümleri Etkiliyor?​

Güvenlik açığı, Next.js 16.2.0 ile 16.3.5 sürümleri arasındaki tüm versiyonları etkiliyor. Açığın tetiklenmesi için ImageResponse'un varsayılan olarak kullanılan Node.js çalışma ortamında çalışıyor olması gerekiyor. ImageResponse'un Edge sürümü bu açıktan etkilenmiyor; Next.js 15 de kapsam dışında. Vercel'in güvenlik danışma belgesi açığı kritik olarak nitelendiriyor ve CVSS puanını 9,5 olarak belirlemiş durumda. 18 Mart'ta yayımlanan Next.js 16.2 sürümünden bu yana etkilenen versiyonlar kullanımda bulunuyordu.
Açığın kökü aslında Next.js'in içinde paketlenmiş halde gelen Satori adlı Vercel kütüphanesinde yatıyor. Satori, görsel düzenini önce SVG koduna, ardından nihai PNG çıktısına dönüştürüyor. Satori'nin kendi güvenlik danışma belgesi, aynı CVE için 5,3 puanlık orta düzey bir değerlendirme yapıyor ve etkinin SVG çıktısının nasıl kullanıldığına bağlı olduğunu belirtiyor. Vercel ise Next.js bağlamında bu değerlerin, bağımlı olunan başka kütüphanelerdeki zafiyetlere ulaşarak kod çalıştırılmasına yol açabileceğini ifade etti; ancak söz konusu kütüphanelerin adını vermedi.

Saldırı Senaryosu Nasıl İşliyor?​

Etkilenen uygulamalar, görsel üretimi sırasında saldırganın denetimindeki değerleri SVG içeriğine, özniteliklerine veya stillerine aktaran uygulamalar olarak tanımlanıyor. Vercel'in danışma belgesindeki örnek, istek URL'sinden alınan bir değerin SVG başlık öğesinin içine yerleştirilmesini gösteriyor. Belgede, sıradan HTML öğelerindeki, örneğin bir div içindeki başlık metninin de aynı riski taşıyıp taşımadığı açıklanmıyor.
Teknik açıdan bakıldığında sorun şu şekilde işliyor: Satori, belirli değerleri SVG çıktısına aktarırken bu değerleri gereği gibi kaçırmıyor. Özel olarak hazırlanmış bir değer, düz metin yerine SVG kodu olarak yorumlanabiliyor. Bu durum, Next.js'in bağımlı olduğu diğer kütüphanelerdeki zafiyetlerle birleşince sunucuda kod çalıştırılmasına zemin hazırlıyor.
Uygulamanızın bu özelliği kullanıp kullanmadığını anlamak için next/og'dan içe aktarılan ImageResponse kullanımlarını aramanız gerekiyor. Bu kullanım genellikle rota işleyicilerinde ve opengraph-image dosyalarında karşımıza çıkıyor. Rota işleyicileri görseli her istek geldiğinde oluştururken, opengraph-image dosyaları bunu derleme zamanında ya da istek anında yapabiliyor.

Düzeltme ve Geçici Çözüm​

Vercel, açığı 22 Eylül'de yayımlanan Next.js 16.3.6 sürümüyle kapattı. Bu, yama içeren tek sürüm. Güncelleme npm install [email protected] komutuyla gerçekleştirilebiliyor. 23 Eylül itibarıyla npm kayıt defterinde 16.2 serisi için yamalı bir sürüm bulunmuyordu; bu nedenle 16.2 kullanan uygulamaların doğrudan 16.3.6'ya geçmesi gerekiyor. Next.js 15.5.26 ise 15.5 serisinde next/og için ek güvenlik sertleştirmesi sunuyor.
Güncelleme hemen yapılamıyorsa Vercel'in önerdiği geçici çözüm, Node.js ImageResponse'un işlediği SVG içeriğine, özniteliklerine ve stillerine saldırgan kontrolündeki değerlerin ulaşmasını engellemek. Danışma belgesi, etkilenmeyen Edge sürümüne geçişi önermüyor; üstelik Next.js belgeleri Edge çalışma ortamını kullanımdan kaldırılmış olarak işaretlemiş durumda.
Satori'yi doğrudan kullanan geliştiricilerin ise kütüphaneyi 0.33.5 sürümüne güncellemesi gerekiyor. Satori, Next.js paketinin içinde paketlenmiş halde geldiğinden kilit dosyasında Next.js'in bağımlılığı olarak görünmüyor; bu da otomatik tarama araçlarının açığı gözden kaçırmasına yol açabiliyor.

npm Denetimi ve Veritabanı Kayıtları Henüz Güncellenmemiş​

23 Eylül itibarıyla yapılan kontrollerde npm audit'in etkilenen Next.js 16.3.5 sürümünü işaretlemediği görüldü. Danışma belgesi henüz GitHub Advisory Database'e eklenmemişti ve CVE-2026-94545 için herhangi bir CVE kaydı da yayımlanmamıştı. Bu nedenle geliştiricilerin Next.js sürümünü doğrudan kontrol etmesi önem taşıyor.
Vercel'in açıklamaları, Vercel altyapısında barındırılan uygulamaların koruma altında olup olmadığı konusunda herhangi bir bilgi içermiyor. Şirket, Ağustos ayında düzeltilen iki kritik Next.js açığı için barındırılan uygulamaların güncelleme gerektirmeksizin korunduğunu açıklamıştı; ancak bu açık için böyle bir ifadeye yer verilmedi. Danışma belgesi aynı zamanda yamalanmadan önce herhangi bir güzergahın kötüye kullanılıp kullanılmadığını doğrulamak için bir yöntem de sunmuyor. 23 Eylül itibarıyla açığı kullanan bir saldırıya ilişkin kamuya açık herhangi bir rapor ya da istismar kodu bulunmuyordu.

Sıkça Sorulan Sorular​

CVE-2026-94545 açığı hangi Next.js sürümlerini etkiliyor?​

Açık, Next.js 16.2.0 ile 16.3.5 arasındaki sürümleri etkiliyor. ImageResponse'un Node.js çalışma ortamında çalıştığı uygulamalar risk altında. Edge sürümü ve Next.js 15 bu açıktan etkilenmiyor.

Açığın kaynağı nedir ve nasıl istismar edilebilir?​

Açığın kökü Satori kütüphanesinde yatıyor. Satori, belirli değerleri SVG çıktısına aktarırken gereği gibi kaçırmıyor. Özel olarak hazırlanmış bir değer düz metin yerine SVG kodu olarak yorumlanabiliyor; bu da Next.js'in bağımlı olduğu diğer kütüphanelerdeki zafiyetlerle birleşince sunucuda kod çalıştırılmasına yol açabiliyor.

Güvenlik açığını kapatmak için ne yapılmalı?​

Tek yamalı sürüm olan Next.js 16.3.6'ya geçmek gerekiyor. Güncelleme npm install [email protected] komutuyla yapılabiliyor. Satori'yi doğrudan kullananların ise Satori'yi 0.33.5 sürümüne güncellemesi gerekiyor.

Güncelleme hemen yapılamazsa ne yapılmalı?​

Vercel'in danışma belgesindeki geçici çözüm, Node.js ImageResponse'un işlediği SVG içeriğine, özniteliklerine ve stillerine saldırgan kontrolündeki değerlerin ulaşmasını engellemek. Danışma belgesi, etkilenmeyen Edge sürümüne geçişi önermüyor çünkü Next.js belgeleri bu çalışma ortamını kullanımdan kaldırılmış olarak işaretlemiş durumda.

npm audit veya GitHub Advisory Database bu açığı tespit edebiliyor mu?​

23 Eylül itibarıyla yapılan kontrollerde npm audit'in etkilenen 16.3.5 sürümünü işaretlemediği görüldü. Danışma belgesi henüz GitHub Advisory Database'e eklenmemişti ve CVE-2026-94545 için resmi bir CVE kaydı da yayımlanmamıştı. Bu nedenle geliştiricilerin Next.js sürümünü doğrudan kontrol etmesi öneriliyor.

Bu bağlantı ziyaretçiler için gizlenmiştir. Görmek için lütfen giriş yapın veya üye olun.

Etiketler

Yorumlar (0)

Yorum yapmak için giriş yapmalısınız.

Geri
Üst