Description
Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 20.3.33, 21.2.25, and 22.2.1, @angular/router in Node.js server-side rendering fails to require auxiliary outlet URL segments to match routes configured for their outlet names. Crafted requests containing multiple unconfigured empty-path outlet groups can repeatedly evaluate the route configuration, construct duplicate ActivatedRouteSnapshot trees, execute canMatch guards and resolvers, and copy route parameters and queryParams for each outlet. An unauthenticated remote attacker can exhaust the Node.js heap or CPU and terminate an SSR worker when SSR is enabled, a route level contains an empty-path route or named outlet, upstream infrastructure forwards the request target, and the worker has a constrained heap. The allocation is transient rather than a persistent leak, and client-side SPAs and build-time prerendering are not affected. This issue is fixed in versions 20.3.33, 21.2.25, and 22.2.1.
Published: 2026-11-03
Score: 8.2 High
EPSS: n/a
KEV: No
Impact: Remote Denial of Service of server‑side rendered Angular applications
Action: Apply Patch
AI Analysis

Impact

Angular server‑side rendering fails to enforce matching of auxiliary outlet URL segments for empty‑path routes. Crafted requests containing multiple unconfigured empty‑path outlet groups repeatedly evaluate the route configuration, construct duplicate ActivatedRouteSnapshot trees, execute canMatch guards and resolvers, and copy route parameters and queryParams for each outlet. An unauthenticated remote attacker can exhaust the Node.js heap or CPU and terminate an SSR worker when SSR is enabled, a route contains an empty‑path or named outlet, upstream infrastructure forwards the request, and the worker has a constrained heap. The allocation is transient and does not persist, so it does not affect client‑side SPAs or build‑time prerendering.

Affected Systems

Angular framework, specifically any version of @angular/router running on Node.js server‑side rendering prior to 20.3.33, 21.2.25, or 22.2.1. Versions 20.3.33, 21.2.25, and 22.2.1 contain the fix.

Risk and Exploitability

The CVSS score of 8.2 indicates high severity. The EPSS score is not available, and the vulnerability is not listed in CISA’s KEV catalog, so no confirmed exploits are known yet. Nevertheless, the vulnerability requires SSR to be enabled, a route that contains an empty‑path or named outlet, and a worker with a constrained heap to be exploitable. The attack is likely to occur via crafted HTTP requests to the SSR endpoint, and the attacker does not need authentication.

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

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Angular to a version that includes the fix (20.3.33, 21.2.25, or 22.2.1).
  • If an upgrade is not immediately possible, disable server‑side rendering or remove routes that rely on empty‑path or named outlets.
  • Apply resource limits to Node.js workers and monitor memory usage to detect potential exhaustion.
  • Verify that upstream infrastructure does not forward request targets that could trigger the vulnerability.

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

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-62vg-58rm-qff7 @angular/router: Denial of Service via Unmatched Empty-Path Outlet Route Matching in Server-Side Rendering (SSR)
History

Tue, 03 Nov 2026 21:00: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. Prior to 20.3.33, 21.2.25, and 22.2.1, @angular/router in Node.js server-side rendering fails to require auxiliary outlet URL segments to match routes configured for their outlet names. Crafted requests containing multiple unconfigured empty-path outlet groups can repeatedly evaluate the route configuration, construct duplicate ActivatedRouteSnapshot trees, execute canMatch guards and resolvers, and copy route parameters and queryParams for each outlet. An unauthenticated remote attacker can exhaust the Node.js heap or CPU and terminate an SSR worker when SSR is enabled, a route level contains an empty-path route or named outlet, upstream infrastructure forwards the request target, and the worker has a constrained heap. The allocation is transient rather than a persistent leak, and client-side SPAs and build-time prerendering are not affected. This issue is fixed in versions 20.3.33, 21.2.25, and 22.2.1.
Title Angular: Denial of Service via Unmatched Empty-Path Outlet Route Matching in Server-Side Rendering (SSR)
Weaknesses CWE-400
CWE-405
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:52:16.675Z

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

Link: CVE-2026-111752

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

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

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

Link: CVE-2026-111752

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

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

Weaknesses
  • CWE-400

    Uncontrolled Resource Consumption

  • CWE-405

    Asymmetric Resource Consumption (Amplification)