- Son 7 gün
- CWE-400
- CWE-770
CVE-2026-111751
Angular RouterLink sorgu parametresi tutma nedeniyle SSR'de hizmet reddi (DoS)
- Yayımlandı
- Güncellendi
- 4 Kas 2026
- Açık yaşı
- 1 gün
- Kaydı açan
- GitHub_M
Yönetici özeti
Bu açık, web sitenizin sunucu tarafında sayfa üretimini durdurarak kullanıcıların siteye erişimini kesintiye uğratabilir. Saldırı kolay gerçekleştirilebilir ve kimlik doğrulama gerektirmez, bu nedenle etkilenen uygulamalar için öncelikli olarak güncelleme yapılması önerilir.
ÖzetTürkçe
Angular'ın RouterLink yönergeleri, Node.js sunucu tarafı işleme (SSR) sırasında oluşturulan bağlantılarda, her istek için hesaplanan UrlTree örneklerini istek süresince tutmaktadır. queryParamsHandling değeri merge veya preserve olarak ayarlandığında, her bağlantı saldırgan kontrolündeki sorgu parametrelerinin bir kopyasını saklayabilmektedir. 21.2.0 ile 21.2.25 arasındaki sürümler ve 22.2.1 etkilenmektedir; saf istemci taraflı SPA uygulamaları etkilenmez.
Saldırgan ne yapabilir?
Saldırgan, aşırı büyük sorgu dizeleri göndererek Node.js bellek yığınını tüketebilir; bu durum SSR çalışan sürecinin çökmesine ve hizmetin kesintiye uğramasına yol açabilir.
Kaynaktaki açıklama (İngilizce)
Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. From 21.2.0 until 21.2.25 and 22.2.1, RouterLink directives rendered during Node.js server-side rendering retain computed UrlTree instances for the lifetime of each request. When queryParamsHandling is set to merge or preserve, either per link or through defaultQueryParamsHandling, every rendered link can retain a copy of attacker-controlled query parameters in its UrlTree. When upstream proxies or load balancers forward oversized query strings without rejecting them at the edge, multiple affected links and overlapping renders can amplify heap use until the Node.js old-space heap is exhausted and the SSR worker terminates. Numeric query-parameter names increase allocation pressure but are not required, memory is released after rendering completes, and pure client-side SPAs are not affected. This issue is fixed in versions 21.2.25 and 22.2.1.
Ne yapmalı?
- Angular uygulamalarını 21.2.25 veya 22.2.1 sürümüne yükseltin. Genel öneri
- Yükseltme yapamıyorsanız, ön uçtaki proxy veya yük dengeleyicide aşırı uzun sorgu dizelerini kenarda reddedecek bir sınır tanımlayın. Genel öneri
- Yükseltme tamamlanana kadar SSR sürecinin bellek kullanımını ve yeniden başlatma sayılarını izleyin. Genel öneri
Ek önlemler
- Sunucu tarafı işleme kullanan Angular uygulamalarının envanterini çıkarın ve bu sürümlerde olanları öncelikli olarak güncelleyin. Genel öneri
- queryParamsHandling ayarlarını gözden geçirin ve gerekli olmayan yerlerde sorgu parametrelerinin bağlantılara taşınmasını kısıtlayın. Genel öneri
- Sunucu süreçlerinin bellek tüketimini ve beklenmedik çökme kayıtlarını düzenli olarak izleyin. Genel öneri
Etkilenen sürümler1 yazılım
| Yazılım | Etkilenen | Düzeltildiği sürüm |
|---|---|---|
| angular | Sürüm belirtilmemiş | – |
Kaynaklar9 kaynak
- CVE.org kaydı
- NVD kaydı
- github.com/…ngular/security/advisories/GHSA-57xq-rjx2-v5xh Diğer
- github.com/angular/angular/issues/70908 Diğer
- github.com/angular/angular/pull/70953 Diğer
- github.com/…ommit/14793bfe4b44a36ed4b7e49a60458ec711c2b41a Diğer
- github.com/…ommit/a131f77d92808ad5c2f3fa4dc6fde36825f12c5a Diğer
- github.com/angular/angular/releases/tag/v21.2.25 Diğer
- github.com/angular/angular/releases/tag/v22.2.1 Diğer
Kayıt geçmişi
- Yayımlandı
İlgili açıklar
Türkçe metin, resmi kayıtlardaki bilgilerle yapay zekâ yardımıyla yazıldı ve yayından önce otomatik kontrollerden geçti. Bir değişikliği uygulamadan önce üreticinin duyurusuna mutlaka bakın.