CVE-2026-54267
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. 22.0.1, 21.2.17 ve 20.3.25 sürümlerinden önce, Sunucu Taraflı Oluşturulan (SSR) ortamlarda istemci tarafındaki bootstrap işlemini optimize etmek için Angular, provideClientHydration() aracılığıyla Hydration desteği sunmaktadır. SSR sırasında Angular, uygulamanın çalışma zamanı durumunu (önbelleğe alınmış HttpClient yanıtları gibi) serileştirir ve bunu tahmin edilebilir bir tanımlayıcıya sahip bir <script> etiketi olarak HTML akışına aktarır. İstemci bootstrap işlemi sırasında Angular, document.getElementById('ng-state') üzerinden elementi arayarak ve metin içeriğini ayrıştırarak bu durumu geri yükler. Durum kapsayıcısı için yapılan DOM elementi araması tahmin edilebilir olduğu ve yalnızca ID seçicisine (ng-state) dayandığı için DOM Clobbering saldırısına karşı savunmasızdır. Eğer uygulama, gerçek <script> etiketi tarayıcı tarafından ayrıştırılmadan önce güvenilmeyen kullanıcı girişini veya CMS içeriğini id gibi element özelliklerine bağlarsa (örneğin, <div [id]="userInput"> veya <a id="ng-state">), saldırgan tarafından kontrol edilen element DOM aramasında öncelik kazanır. Hydration sırasında Angular document.getElementById('ng-state') fonksiyonunu çağırdığında, tarayıcı saldırganın manipüle ettiği elementi döndürür. Ardından Angular, bu manipüle edilmiş elementin metin içeriğini veya özniteliklerini JSON olarak ayrıştırmaya çalışır. Bu güvenlik açığı 22.0.1, 21.2.17 ve 20.3.25 sürümlerinde giderilmiştir.
Nasıl düzeltilir
- angular angular20.3.25, 21.2.17, 22.0.1 ya da sonraki bir sürüm
- @angular/core22.0.1, 21.2.17, 20.3.25 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| angular angular | v ≤ 19.2.25, 20.0.0 ≤ v < 20.3.25, 21.0.0 ≤ v < 21.2.17, 22.0.0 ≤ v < 22.0.1 | 20.3.25, 21.2.17, 22.0.1 |
| @angular/corenpm | 22.0.0-next.0 ≤ v < 22.0.1, 21.0.0-next.0 ≤ v < 21.2.17, 20.0.0-next.0 ≤ v < 20.3.25, v ≤ 19.2.25 | 22.0.1, 21.2.17, 20.3.25 |
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.