
Angular’ın şablon derleyicisindeki (CVE-2025-66412) kritik bir Depolanan XSS güvenlik açığı, saldırganların SVG animasyon niteliklerini silahlandırarak rastgele kod yürütmesine olanak tanıyor.
Angular’ın yerleşik güvenlik temizleme mekanizmalarını atlamak ve 19.2.17, 20.3.15 veya 21.0.2’nin altındaki sürümleri kullanan uygulamaları etkilemek.
Angular şablon derleyicisi, URL tutma niteliklerini ve SVG animasyon öğelerini doğru şekilde sınıflandırma ve temizleme konusunda başarısız olan, tamamlanmamış bir güvenlik şeması içerir.
Güvenlik açığı iki farklı saldırı vektörü üzerinden çalışıyor: güvenli olmayan URL nitelikleri ve dinamik olarak manipüle edilen SVG animasyon özellikleri.
Silahlandırılmış SVG Animasyon Dosyaları
Kusur, derleyicinin belirli URL tutma niteliklerini (xlink:href ve href gibi) tanıyamamasından kaynaklanmaktadır.
SVG animasyon öğeleri (
Saldırganlar, güvenilmeyen verileri SVG animasyonlarının featureName niteliğine bağlayıp ardından href veya xlink:href gibi hassas özelliklere işaret ederek bu durumdan yararlanır. Animasyonun değerlerine veya niteliklerine bir JavaScript URL verisi enjekte ederek.
Kötü amaçlı kod, öğe kullanıcı etkileşimi aracılığıyla veya animasyon zamanlaması yoluyla otomatik olarak tetiklendiğinde yürütülür.
| Alan | Değer |
|---|---|
| CVE Kimliği | CVE-2025-66412 |
| Bileşen | @angular/derleyici (npm) |
| Güvenlik Açığı Türü | Depolanan Siteler Arası Komut Dosyası Çalıştırma (XSS) |
| CVSS Puanı | 8,6/10 |
| Şiddet | Yüksek |
| Saldırı Vektörü | Ağ |
Şablon bağlamaları, güvenilmeyen, kullanıcı tarafından kontrol edilen verileri güvenlik açığı bulunan niteliklere atadığında. (örneğin, [attr.xlink:href]=”kötü amaçlıURL” veya
Derleyici hatalı bir şekilde arındırıcı olmayan bağlamlara geri dönerek tehlikeli öznitelik atamasının doğrulamayı geçmesine izin verir.
Başarılı bir şekilde yararlanma, saldırganların güvenlik açığı bulunan uygulamanın etki alanı içinde rastgele kod yürütmesine olanak tanır.
Çerez ve kimlik doğrulama belirteci hırsızlığı, hassas kullanıcı bilgilerinin veri sızması ve kullanıcılar adına gerçekleştirilen yetkisiz eylemler yoluyla oturumun ele geçirilmesine yol açar.
Saldırı iki ön koşul gerektirir: Angular uygulamasının güvenilmeyen girdiler oluşturması gerekir (veritabanlarından, API’lerden veya kullanıcı gönderimlerinden).
Bunu güvenlik açığı bulunan niteliklere veya SVG animasyon özelliklerine bağladığınızda kurban ya tehlikeye atılan öğeyle etkileşime girmeli ya da animasyon otomatik olarak tetiklenmelidir.
GitHub tavsiyesine göre kuruluşların derhal yamalı sürümlere yükseltme yapması gerekiyor: Angular 19.2.17, 20.3.15 veya 21.0.2.
Yaması bulunmayan Angular 18.x kullanıcıları için, JavaScript’e izin vermeyen sağlam İçerik Güvenliği Politikası (CSP) başlıklarının uygulanması: URL’ler etkili bir azaltma sağlar.
Yükseltmeler dağıtılıncaya kadar ekipler, güvenilmeyen verilerin savunmasız SVG/MathML özelliklerine asla akmadığından emin olmak için şablon bağlamalarını denetlemelidir.
SVG animasyon özniteliği Özelliklerini adlandırın ve kullanıcı tarafından denetlenen verilerin bu güvenlik açısından hassas özniteliklere dinamik olarak bağlanmasını önleyin.
Günlük siber güvenlik güncellemeleri için bizi Google Haberler, LinkedIn ve X’te takip edin. Hikayelerinizi öne çıkarmak için bizimle iletişime geçin.