HIGHCVSS not yet scoredVulnerability

CVE-2026-111751

A denial of service (DoS) vulnerability was identified in `@angular/router` when Server-Side Rendering (SSR) is enabled on Node.js (V8) and `RouterLink` directives are rendered with `queryParamsHandling: 'merge'` or `'preserve'`, configured either per link or globally via `defaultQueryParamsHandling`. Starting in v21.2.0 ([angular/angular#66181](https://github.com/angular/angular/pull/66181)), `RouterLink` internals were refactored to use signals, introducing a computed signal (`_urlTree`) that cached the returned `UrlTree` instance on the directive. Because each rendered link maintains an active `RouterLink` instance for the entire duration of the request lifecycle, the computed signal permanently pinned the `UrlTree` and its associated query parameter dictionary in the heap until the SSR response completed. When query parameter handling is set to `'merge'` or `'preserve'`, each link copies the incoming request's query parameters into its own `UrlTree`. During SSR, memory consumption scales multiplicatively: $$\text{Heap Retention} \approx (\text{Number of affected links}) \times (\text{Size of parsed query parameter map})$$ Because parsed JavaScript objects and property dictionaries require substantially more heap space than the raw query string—particularly when property names trigger dense array allocations under V8 property-storage heuristics—an attacker can supply oversized query strings to amplify heap consumption by orders of magnitude per in-flight request. ### Impact Successful exploitation allows an unauthenticated remote attacker to exhaust the Node.js old-space heap with modest concurrent request volume, terminating the SSR worker with an unrecoverable JavaScript heap out of memory fatal crash. * **Numeric Names Not Required:** Numeric query parameter names trigger larger V8 property-storage allocations (~558 KB per parsed dictionary in tests vs. ~197 KB for non-numeric equivalents), lowering the concurrency threshold needed for a crash. However,

Properties

Ghsa id
GHSA-57xq-rjx2-v5xh
Summary
@angular/router: Denial of Service via RouterLink Query Parameter Retention in Server-Side Rendering (SSR)
Severity
high
Last source
GitHub Advisory Database
Cve id
CVE-2026-111751
First seen by Signal
2026-10-20T21:19:40+00:00
Is ghsa only
false
Retrieved at
2026-10-21T01:23:59+00:00
Ghsa published
2026-10-20T17:52:32Z
Source url
https://github.com/advisories/GHSA-57xq-rjx2-v5xh
Ghsa updated
2026-10-20T17:52:33Z

Related Entities (4)

AFFECTS (1)

→[Software]npm/@angular/router

VULNERABLE_TO (1)

←[Software]npm/@angular/router

Explore deeper with Ninja Signal's threat intelligence graph

CVE-2026-111751 — Ninja Signal Threat Intelligence | Ninja Signal