---
id: CVE-2026-111751
title: >-
  Angular: Denial of Service via RouterLink Query Parameter Retention in
  Server-Side Rendering (SSR)
summary: >-
  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…
severity: high
cvss: 8.2
cvssVector: 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'
cvssSource: cna
cwe:
  - CWE-400
  - CWE-770
vendor: angular
product: angular
affected:
  - 'angular >= 21.2.0, < 21.2.25'
  - 'angular >= 22.0.0, < 22.2.1'
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: partial
  timestamp: '2026-11-07T03:34:14.998231Z'
published: '2026-11-03'
updated: '2026-11-07'
sourceUpdated: '2026-11-07T03:34:24.947Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-111751'
references:
  - url: 'https://github.com/angular/angular/security/advisories/GHSA-57xq-rjx2-v5xh'
    label: 'https://github.com/angular/angular/security/advisories/GHSA-57xq-rjx2-v5xh'
  - url: 'https://github.com/angular/angular/issues/70908'
    label: 'https://github.com/angular/angular/issues/70908'
  - url: 'https://github.com/angular/angular/pull/70953'
    label: 'https://github.com/angular/angular/pull/70953'
  - url: >-
      https://github.com/angular/angular/commit/14793bfe4b44a36ed4b7e49a60458ec711c2b41a
    label: >-
      https://github.com/angular/angular/commit/14793bfe4b44a36ed4b7e49a60458ec711c2b41a
  - url: >-
      https://github.com/angular/angular/commit/a131f77d92808ad5c2f3fa4dc6fde36825f12c5a
    label: >-
      https://github.com/angular/angular/commit/a131f77d92808ad5c2f3fa4dc6fde36825f12c5a
  - url: 'https://github.com/angular/angular/releases/tag/v21.2.25'
    label: 'https://github.com/angular/angular/releases/tag/v21.2.25'
  - url: 'https://github.com/angular/angular/releases/tag/v22.2.1'
    label: 'https://github.com/angular/angular/releases/tag/v22.2.1'
  - url: >-
      https://github.com/angular/angular/commit/319a3c4f3268f4f96ac4acdbb118737d2261e0be
  - url: 'https://github.com/advisories/GHSA-57xq-rjx2-v5xh'
tags:
  - cve.org
  - ghsa
  - npm
epss: 0.00659
epssPercentile: 0.51731
aliases:
  - GHSA-57xq-rjx2-v5xh
ecosystem: npm
patched:
  - '@angular/router 22.2.1'
  - '@angular/router 21.2.25'
ingestedAt: '2026-10-20T18:14:37.214Z'
---

## Overview

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.

## Affected

- `angular >= 21.2.0, < 21.2.25`
- `angular >= 22.0.0, < 22.2.1`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Package advisory (CVE-2026-111751)

Affected packages:

- `@angular/router >= 22.0.0, < 22.2.1`
- `@angular/router >= 21.2.0, < 21.2.25`

Patched in:

- `@angular/router 22.2.1`
- `@angular/router 21.2.25`

Source: https://github.com/advisories/GHSA-57xq-rjx2-v5xh
