On 1 Oct 2026 Angular published GHSA-57xq-rjx2-v5xh: High DoS in @angular/router when SSR + RouterLink queryParamsHandling merge/preserve retain UrlTree query maps in heap. Patched in 21.2.25 and 22.2.1. Client-only SPAs unaffected. ShopperCove upgrade checklist only—no exploit payloads; no affiliate.
4 min read
On 1 October 2026, the Angular team published GitHub security advisory GHSA-57xq-rjx2-v5xh: a High denial-of-service issue in @angular/router when Server-Side Rendering (SSR) on Node.js retains merged or preserved query-parameter UrlTree data across RouterLink instances. ShopperCove did not patch a production Angular SSR app for this note and did not send test traffic against any site. The facts below come from that advisory, fix PR #70953, and npm package versions 21.2.25 / 22.2.1 (confirmed on the registry 5 October 2026). This is a defensive upgrade checklist, not an exploit guide—no attack payloads, no reproduction steps.
There is no affiliate link in this article.
From GHSA-57xq-rjx2-v5xh:
@angular/router (npm).You are in scope only if all of these match (per the advisory’s preconditions—described here without attack recipes):
RouterLinks use queryParamsHandling: 'merge' or 'preserve' (per link or via defaultQueryParamsHandling).Affected version ranges (advisory):
>= 22.0.0, < 22.2.1>= 21.2.0, < 21.2.25Not affected: versions before 21.2.0 (including Angular 20.x LTS and 21.1.x) for this specific UrlTree retention issue.
| Line | Minimum patched @angular/router |
|---|---|
| v21 | 21.2.25 |
| v22 | 22.2.1 |
Both versions resolve on the npm registry as of 5 October 2026. Prefer your normal Angular update path (ng update / aligned @angular/* set) so peer packages stay on the same patch train—do not leave router alone on a mismatched minor if your workspace policy forbids it.
The fix (PR #70953) stops pinning intermediate UrlTree / query-map objects for the lifetime of each SSR request; links compute what they need for href and discard the intermediates.
npm ls @angular/router (or lockfile search). If you are on 21.2.0–21.2.24 or 22.0.0–22.2.0 and ship SSR, schedule the patch.defaultQueryParamsHandling: 'merge'|'preserve' on SSR pages when links only need a few explicit [queryParams] bindings—the advisory recommends binding only parameters each link needs.--max-old-space-size as a substitute for the patch—the advisory lists it only as temporary headroom.ShopperCove did not change production Angular versions for this article. Follow the advisory and your release process.
GHSA-57xq-rjx2-v5xh (1 Oct 2026) is a High SSR heap DoS in @angular/router when merge/preserve query handling keeps large query maps alive across RouterLinks. Patch to 21.2.25 or 22.2.1. Client-only apps without SSR are out of scope. Read the official advisory—do not chase third-party “PoC” posts.
Lab evidence
Sources read 5 Oct 2026: GitHub advisory GHSA-57xq-rjx2-v5xh; fix PR #70953; npm @angular/router 21.2.25 and 22.2.1 via registry. No SSR app patched on ShopperCove; no PoC requests sent. Defensive upgrade framing only.