Description
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.
Published: 2026-11-03
Score: 8.2 High
EPSS: n/a
KEV: No
Impact: Denial of Service
Action: Immediate Patch
AI Analysis

Impact

The vulnerability is a denial‑of‑service attack caused by Angular’s server‑side rendering retaining attacker‑controlled query parameters in UrlTree instances. When an application uses queryParamsHandling set to merge or preserve during SSR, each rendered link can keep a copy of the query string. Overly large or many overlapping query strings can cause repeated memory allocations in the Node.js old‑space heap, eventually exhausting available memory and terminating the SSR worker, which leads to application downtime.

Affected Systems

Any Angular application that uses server‑side rendering and runs versions 21.2.0 through 21.2.25 inclusive or 22.2.1 is affected. The vulnerability is present in the angular:angular platform and affects any deployment that exposes SSR endpoints to externally controlled query strings.

Risk and Exploitability

The CVSS score of 8.2 categorizes the issue as high severity, and its impact is a crash of SSR workers. The exploit relies on an attacker sending oversized or numerous query strings to a SSR endpoint. While the EPSS score is not available, the lack of a KEV listing indicates no confirmed exploits yet. Nonetheless, an attacker could trigger the resource exhaustion if upstream proxies or load balancers do not reject long query strings, making the vulnerability potentially exploitable in realistic network scenarios.

Generated by OpenCVE AI on November 3, 2026 at 23:17 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Angular to version 21.2.25 or later, or to 22.2.1 or any newer release that contains the fix.
  • If an upgrade cannot be performed immediately, disable or avoid using queryParamsHandling set to merge or preserve during SSR, or configure the SSR stack to reject overly large query strings at the edge.
  • Configure upstream proxies or load balancers to enforce a maximum query string length and drop any requests that exceed this limit.
  • Monitor the memory usage of SSR workers and set Node.js old‑space heap limits or use process managers that can automatically restart a crashed worker to maintain availability.

Generated by OpenCVE AI on November 3, 2026 at 23:17 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-57xq-rjx2-v5xh @angular/router: Denial of Service via RouterLink Query Parameter Retention in Server-Side Rendering (SSR)
History

Tue, 03 Nov 2026 21:15:00 +0000

Type Values Removed Values Added
Description 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.
Title Angular: Denial of Service via RouterLink Query Parameter Retention in Server-Side Rendering (SSR)
Weaknesses CWE-400
CWE-770
References
Metrics cvssV4_0

{'score': 8.2, 'vector': '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'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-11-03T20:58:04.630Z

Reserved: 2026-10-16T17:52:09.081Z

Link: CVE-2026-111751

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-03T21:16:57.800

Modified: 2026-11-03T21:16:57.800

Link: CVE-2026-111751

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-03T23:30:06Z

Weaknesses
  • CWE-400

    Uncontrolled Resource Consumption

  • CWE-770

    Allocation of Resources Without Limits or Throttling