CVE-2023-29008
Açıklama
SvelteKit framework'ü, geliştiricilere basit REST API'ler oluşturma seçeneği sunmaktadır. Bu işlem, farklı HTTP yöntemleri için uç nokta işleyicileri içeren bir `+server.js` dosyası tanımlanarak gerçekleştirilir. SvelteKit, kullanıcılarına hazır siteler arası istek sahteciliği (CSRF) koruması sağlar. Koruma, `kit/src/runtime/server/respond.js` konumunda uygulanmıştır. Uygulama, yaygın CSRF saldırılarını hafifletmede yeterli bir iş çıkarsa da, 1.15.2 öncesindeki sürümlerde sadece büyük harflerle yazılmış bir `Content-Type` başlık değeri belirtilerek bu koruma atlatılabilir. Tarayıcı büyük harfli karakterler göndermeyecektir ancak bu kontrol beklenen tüm CORS isteklerini engellemez. Kötüye kullanıldığında bu sorun, üçüncü taraf alan adlarından kötü niyetli isteklerin gönderilmesine izin verecek ve bu durum kurbanın oturumu bağlamında işlemlerin yürütülmesini sağlayabilecektir; ekstrem senaryolarda ise kullanıcı hesaplarına yetkisiz erişime yol açabilecektir. Aşağıdaki durumlarda kimlik doğrulaması gerektiren tüm POST işlemlerine izin verilmesiyle sonuçlanabilir: Hedef site, kimlik doğrulama çerezinde `SameSite=None` değerini ayarlamışsa ve kullanıcı Chromium tabanlı bir tarayıcıda kötü niyetli bir siteyi ziyaret ederse; hedef site `SameSite` özniteliğini açıkça belirlememişse ve kullanıcı takip korumaları kapalıyken Firefox/Safari ile kötü niyetli bir siteyi ziyaret ederse ve/veya kullanıcı çok eski bir tarayıcıyla kötü niyetli bir siteyi ziyaret ediyorsa. SvelteKit 1.15.2 sürümü bu sorun için bir yama içermektedir. Özellikle güncellemenin zamanında yapılamadığı durumlarda, kimlik doğrulama çerezlerinde `SameSite` değerinin açıkça `None` dışında bir değere ayarlanması da önerilir.
Nasıl düzeltilir
- svelte sveltekit1.15.2 ya da sonraki bir sürüm
- @sveltejs/kit1.15.2 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| svelte sveltekit | v < 1.15.2 | 1.15.2 |
| @sveltejs/kitnpm | v < 1.15.2 | 1.15.2 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.