Açısal SSR güvenlik açığı, saldırganların hassas verilere erişmesini sağlar


Angular’ın sunucu tarafı oluşturma (SSR) özelliğinde yüksek bir güvenlik açığı, aynı anda birden fazla istek işlendiğinde hassas veri maruziyetine yol açabilir.

CVE-2025-59052 olarak izlenen bu kusur, platform enjektöründe çapraz telafi veri sızıntısına neden olabilecek küresel bir yarış durumundan kaynaklanmaktadır.

Savunmasız açısal sürümleri kullanan kuruluşlar derhal güncellenmeli veya potansiyel veri ihlallerini önlemek için önerilen geçici çözümler uygulamalıdır.

Güvenlik Açığı Detayları

Angular’ın SSR’si, oluşturma sırasında isteğe özgü verileri depolamak için platform enjektörü adı verilen bir bağımlılık enjeksiyon kabı kullanır.

CVE kimliği Darbe CVE puanı
CVE-2025-59052 Oturumlar arasında isteğe özgü verilerin sızıntısı 7.1 (Yüksek)

Tarihsel olarak, bu konteyner modül kapsamlı bir küresel değişken olarak tanımlandı. İki veya daha fazla oluşturma isteği aynı anda meydana geldiğinde, bu küresel enjektör durumunu paylaşabilir veya üzerine yazabilirler.

Sonuç olarak, bir kullanıcının oturumuna yönelik bilgiler, kimlik doğrulama jetonları, kullanıcıya özgü ayarlar veya veritabanı sorgusu sonuçları gibi başka bir kullanıcının yanıtında görünebilir.

Ağ erişimi olan saldırganlar, tekrarlanan SSR istekleri göndererek ve oluşturulan sayfaları veya yanıt başlıklarını inceleyerek, diğer oturumlara ait verileri arayarak bu kusuru kullanabilir.

Rapora göre, bu güvenlik açığı özel bir ayrıcalık veya kullanıcı etkileşimi gerektirmez, bu da yüksek trafikli uygulamalarda hem sömürülmeyi hem de tehlikeli hale getirir.

Birkaç açısal API, platform enjektörünün önceki davranışına dayanıyordu ve sunucu ortamlarında değişiklikler gerektiriyordu.

Bağımsız uygulamalar tarafından kullanılan bootstrapappligation işlevi artık istek başına doğru enjektörün kullanılmasını sağlamak için açık bir bootstrapContext bağımsız değişkeni gerektiriyor.

Benzer şekilde, getPlatform artık sunucudaki son oluşturulan platform örneğini döndürmez, bunun yerine her zaman null döndürür.

SSR sırasında çağrıldığında DestroyPlatform işlevi bir OP’ye dönüştürüldü. Angular’ın yama sürümleri bu kırılma değişikliklerini yalnızca sunucu kodu için tanıtmaktadır. Bootstrapapplication için yeni bir argüman eklenmelidir:

// Before:

const bootstrap = () => bootstrapApplication(AppComponent, config);

// After:

const bootstrap = (context: BootstrapContext) =>
  bootstrapApplication(AppComponent, config, context);

Angular, bu kod ayarlamalarını 18, 19 ve 20 sürümleri için NG güncellemesi yoluyla uygulamak için otomatik şemalar sağlar.

Sorun, önceden versiyonlar dahil olmak üzere tüm aktif açısal sürüm satırlarında sabitlenmiştir. Geliştiriciler @Angular/Platform-Server 18.2.14, 19.2.15, 20.3.0 veya 21.0.0-next.3’e yükseltilmeli ve uygun şekilde @Angular/SSR ve @NGuniversal/Ortak paketleri yükseltmelidir.

Yamalar mevcut olana kadar, ekipler sunucu yönlendirmesini veya oluşturucu seçeneklerini kullanarak SSR’yi devre dışı bırakabilir, eşzamansız davranışı özel bootstrap işlevlerinden kaldırabilir, GetPlatform () çağrılarını ortadan kaldırabilir ve JIT modunu sunucu yapılarında kapatabilir.

Bu hafifletmeler, talepler arasında sızıntı platformu enjektör durumu riskini azaltır.

CVE-2025-59052, sunucu tarafı çerçevelerinin karmaşıklığını ve hak başına verilerin izole edilmesinin önemini vurgular.

Resmi güncellemeler uygulayarak veya önerilen geçici çözümler, geliştiriciler açısal SSR dağıtımlarını bu yüksek şiddetli kusurlara karşı güvence altına alabilir ve kullanıcı verilerinin gizliliğini koruyabilir.

Bu hikayeyi ilginç bul! Daha fazla güncelleme almak için bizi LinkedIn ve X’te takip edin.



Source link