CVE-2025-59052
Təsvir
Angular, TypeScript/JavaScript və digər dillərdən istifadə edərək mobil və masaüstü veb tətbiqləri yaratmaq üçün nəzərdə tutulmuş inkişaf platformasıdır. Angular, server tərəfli renderləmə (SSR) zamanı sorğuya məxsus vəziyyəti saxlamaq üçün DI konteynerindən ("platform injector") istifadə edir. Tarixi səbəblərdən bu konteyner JavaScript modulu miqyaslı qlobal dəyişən kimi saxlanılırdı. Bir neçə sorğu eyni vaxtda emal edildikdə, onlar təsadüfən qlobal injektor vəziyyətini paylaşa və ya onu yeniləyə bilərdilər. Praktiki baxımdan bu, bir sorğunun tamamilə fərqli bir sorğu üçün nəzərdə tutulmuş məlumatlarla cavab verməsinə, beləliklə render edilmiş səhifədə və ya cavab başlıqlarında (response headers) yer alan məlumatların və ya tokenlərin sızmasına səbəb ola bilər. Hücumçu render edilmiş cavab alan hər hansı trafik göndərmək üçün şəbəkə girişinə malik olduğu müddətcə, böyük sayda sorğular göndərə və daha sonra cavablarda məlumat sızıntılarını yoxlaya bilərdi. `bootstrapApplication`, `getPlatform` və `destroyPlatform` API-ları zəifliyə malik idi və yalnız SSR üçün tətbiq olunan kəsici dəyişikliklər tələb edirdi. Problem bütün aktiv buraxılış xətlərində, həmçinin v21 önburaxılışında aradan qaldırılmışdır. Düzəliş edilmiş paketlərə `@angular/platform-server` 21.0.0-next.3, 20.3.0, 19.2.15 və 18.2.14, həmçinin `@angular/ssr` 21.0.0-next.3, 20.3.0, 19.2.16 və 18.2.21 daxildir. Bir neçə alternativ həll yolu mövcuddur: Server Routes və ya builder seçimləri vasitəsilə SSR-i söndürün, xüsusi `bootstrap` funksiyalarından hər hansı asinxron davranışı çıxarın, tətbiq kodunda `getPlatform()` istifadəsini ləğv edin və/və ya server build-nin `ngJitMode`-u false olaraq təyin etdiyindən əmin olun.
Necə düzəltmək olar
- @angular/platform-server18.2.14, 20.3.0, 19.2.15, 21.0.0-next.3 və ya daha yeni versiya
- @angular/ssr18.2.21, 19.2.16, 20.3.0, 21.0.0-next.3 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| @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 | — |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.