CVE-2024-56159
Açıklama
Astro, içerik odaklı web siteleri için bir web çerçevesidir. Derleme sürecindeki bir hata, kimliği doğrulanmamış herhangi bir kullanıcının sunucu kaynak kodunun bölümlerini okumasına izin vermektedir. Derleme sırasında, css ve yazı tipi dosyaları gibi istemci varlıklarıyla birlikte, sunucu kodu için olan sourcemap dosyaları herkese açık bir klasöre taşınmaktadır. Herhangi bir dış taraf, web sitesinin geri kalanını barındıran aynı sunucuya yetkisiz bir HTTP GET isteği göndererek bunları okuyabilir. Bazı sunucu dosyaları hash'lendiğinden erişimleri belirsiz olsa da, dosya sistemi yönlendiricisine karşılık gelen dosyalar (`src/pages` içindekiler) öngörülebilir şekilde adlandırılmıştır. Örneğin, `src/pages/index.astro` için olan sourcemap dosyası `dist/client/pages/index.astro.mjs.map` olarak adlandırılır. Bu güvenlik açığı, zafiyeti gösteren basit bir stackblitz projesine bağlantı veren #12703 numaralı sorunun temel nedenidir. Derleme sonrası, `dist/client` (astro kodunda `config.build.client` olarak belirtilen) klasörünün içeriğine dikkat edin. Tüm astro sunucuları, söz konusu klasörü herhangi bir kimlik doğrulama olmaksızın genel internete açık hale getirir. Klasör, sunucuda çalışan koda karşılık gelen `.map` dosyalarını içerir. Doğrudan veya `sentry` gibi bir eklenti aracılığıyla sourcemaps özelliği etkinleştirilmiş olan, Astro 5 versiyonları v5.0.3 ile v5.0.7 arasındaki tüm server-output projeleri etkilenmektedir. Server-output projeleri için düzeltme [email protected] sürümünde yayınlanmıştır. Ek olarak, sourcemaps özelliği etkinleştirilmiş olan, Astro 4 versiyonları 4.16.17 veya daha eski ya da Astro 5 versiyonları 5.0.8 veya daha eski sürümleriyle derlenen tüm static-output projeleri de etkilenmektedir. Static-output projeleri için düzeltme [email protected] sürümünde yayınlanmış ve Astro v4'e [email protected] sürümüyle geri port edilmiştir. Anlık etki kaynak kodla sınırlıdır. Gizli bilgiler veya ortam değişkenleri, kaynak kodda aynen yer almadıkları sürece ifşa edilmez. Savunmasız sunucuda anlık bir bütünlük kaybı yoktur; ancak, ortaya çıkan kaynak kod aracılığıyla başka bir güvenlik açığının sonradan keşfedilmesi mümkündür. Savunmasız sunucunun kullanılabilirliği üzerinde anlık bir etki yoktur; fakat örneğin güvenli olmayan bir düzenli ifade (regular expression) bulunması, kullanılabilirliği tehlikeye atmak için hızlıca istismar edilebilir. Server-output projeleri için düzeltme [email protected] sürümünde, static-output projeleri için düzeltme ise [email protected] sürümünde yayınlanmış ve Astro v4'e [email protected] sürümüyle geri port edilmiştir. Sourcemaps kullanan veya sourcemaps özelliğini etkinleştiren bir entegrasyon kullanan kullanıcıların derhal güncellemeleri önerilir.
Nasıl düzeltilir
- astro astro4.16.18, 5.0.8 ya da sonraki bir sürüm
- astro5.0.8, 4.16.18 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| astro astro | v < 4.16.18, 5.0.0 ≤ v < 5.0.8 | 4.16.18, 5.0.8 |
| astronpm | 5.0.0-alpha.0 ≤ v < 5.0.8, v < 4.16.18 | 5.0.8, 4.16.18 |
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.