CVE-2025-59052
Açıklama
Angular; TypeScript/JavaScript ve diğer dilleri kullanarak mobil ve masaüstü web uygulamaları oluşturmak için kullanılan bir geliştirme platformudur. Angular, sunucu tarafı oluşturma (SSR) sırasında isteğe özel durumu tutmak için bir DI konteyneri ("platform injector") kullanır. Tarihsel nedenlerle bu konteyner, JavaScript modül kapsamlı bir küresel değişken olarak saklanmıştır. Birden fazla istek eşzamanlı olarak işlendiğinde, istemeden küresel injector durumunu paylaşabilir veya üzerine yazabilirler. Pratik anlamda bu durum, bir isteğin tamamen farklı bir istek için amaçlanan verilerle yanıt vermesine yol açarak, oluşturulan sayfada veya yanıt üstbilgilerinde yer alan verilerin veya token'ların sızmasına neden olabilir. Bir saldırgan, oluşturulmuş bir yanıt alan herhangi bir trafiği göndermek için ağ erişimine sahip olduğu sürece, çok sayıda istek gönderip ardından yanıtları bilgi sızıntıları açısından inceleyebilmiş olabilir. `bootstrapApplication`, `getPlatform` ve `destroyPlatform` API'leri savunmasızdır ve yalnızca SSR ile ilgili kırıcı değişiklikler gerektirmiştir. Sorun, tüm aktif sürüm hatlarında ve v21 ön sürümünde düzeltilmiştir. Yamalanmış paketler arasında `@angular/platform-server` 21.0.0-next.3, 20.3.0, 19.2.15 ve 18.2.14 ile `@angular/ssr` 21.0.0-next.3, 20.3.0, 19.2.16 ve 18.2.21 yer almaktadır. Çeşitli geçici çözümler mevcuttur: Sunucu Rotaları veya derleyici seçenekleri aracılığıyla SSR'yi devre dışı bırakın, özel `bootstrap` fonksiyonlarındaki tüm asenkron davranışları kaldırın, uygulama kodundaki `getPlatform()` kullanımlarını kaldırın ve/veya sunucu derlemesinin `ngJitMode` değerini false olarak tanımladığından emin olun.
Nasıl düzeltilir
- @angular/platform-server18.2.14, 20.3.0, 19.2.15, 21.0.0-next.3 ya da sonraki bir sürüm
- @angular/ssr18.2.21, 19.2.16, 20.3.0, 21.0.0-next.3 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| @angular/platform-servernpm | 16.0.0-next.0 ≤ v < 18.2.14, 20.0.0-next.0 ≤ v < 20.3.0, 19.0.0-next.0 ≤ v < 19.2.15, 21.0.0-next.0 ≤ v < 21.0.0-next.3 | 18.2.14, 20.3.0, 19.2.15, 21.0.0-next.3 |
| @angular/ssrnpm | 17.0.0-next.0 ≤ v < 18.2.21, 19.0.0-next.0 ≤ v < 19.2.16, 20.0.0-next.0 ≤ v < 20.3.0, 21.0.0-next.0 ≤ v < 21.0.0-next.3 | 18.2.21, 19.2.16, 20.3.0, 21.0.0-next.3 |
| @nguniversal/commonnpm | 16.0.0-next.0 ≤ v ≤ 16.2.0 | — |
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.