Description
Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 20.3.32, 21.2.24, and 22.2.0, the @angular/router URL parser stores numeric matrix parameter names and numeric outlet names as properties on initially empty JavaScript objects during Node.js server-side rendering. V8 can interpret these URL-derived keys as array indices and allocate dense backing stores sized to high numeric values, so repeated small path segments cause disproportionate per-segment heap consumption. An unauthenticated attacker can send overlapping requests containing repeated numeric matrix parameters when SSR is enabled, the router directly parses the request URL, and upstream proxies allow semicolons and multiple path segments, eventually exhausting the Node.js old-space heap and terminating the SSR worker. Pure client-side Angular applications are not affected. This issue is fixed in versions 20.3.32, 21.2.24, and 22.2.0.
Published: 2026-10-14
Score: 8.2 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via heap exhaustion during server‑side rendering
Action: Immediate Patch
AI Analysis

Impact

The vulnerability lies in how the Angular router parses numeric matrix parameter names and outlet names into empty JavaScript objects during Node.js server‑side rendering. V8 interprets these numeric keys as array indices, allocating unnecessarily large backing stores when the indices are high. Successive requests with overlapping numeric parameters can therefore consume disproportionate heap space, exhausting the old‑space heap and terminating the SSR worker. This leads to repeated downstream services becoming unavailable. The flaw is purely an out‑of‑band denial of service and does not grant any confidentiality or integrity benefits to an attacker.

Affected Systems

Any application that uses @angular/router or angular:angular with server‑side rendering enabled and runs on Node.js is vulnerable if the installed versions are earlier than 20.3.32, 21.2.24, or 22.2.0. Pure client‑side Angular applications are unaffected. An attacker must be able to inject special URL segments containing semicolons and numeric matrix parameters, and the upstream proxy must permit those segments to reach the application.

Risk and Exploitability

With a CVSS score of 8.2 the vulnerability is considered high severity. The EPSS score is < 1 %, indicating a very low but non‑zero exploitation probability at the time of this analysis. The vulnerability is not listed in CISA KEV. The likely attack vector is remote unauthenticated requests directed at an SSR‑enabled Angular server that allows semicolons and multiple path segments in the URL. If such requests are repeatedly sent, the Node.js process will eventually crash, creating a denial‑of‑service condition for the application and any services depending on it.

Generated by OpenCVE AI on October 15, 2026 at 18:41 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the Angular updates that include the fix, such as 20.3.32, 21.2.24, or 22.2.0 or later
  • If a patch cannot be applied immediately, disable server‑side rendering for the Angular router or remove any URL segments that contain numeric matrix parameters
  • Configure upstream proxies and load balancers to reject URLs that contain semicolons or numeric matrix parameters to block malicious requests

Generated by OpenCVE AI on October 15, 2026 at 18:41 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-ff3f-86qr-9cv3 Angular Server-Side Rendering (SSR): Denial of Service via Numeric URL Matrix Parameters
History

Tue, 20 Oct 2026 02:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 19 Oct 2026 13:30:00 +0000

Type Values Removed Values Added
First Time appeared Angular
Angular angular
Angular router
Vendors & Products Angular
Angular angular
Angular router

Wed, 14 Oct 2026 15:30: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.32, 21.2.24, and 22.2.0, the @angular/router URL parser stores numeric matrix parameter names and numeric outlet names as properties on initially empty JavaScript objects during Node.js server-side rendering. V8 can interpret these URL-derived keys as array indices and allocate dense backing stores sized to high numeric values, so repeated small path segments cause disproportionate per-segment heap consumption. An unauthenticated attacker can send overlapping requests containing repeated numeric matrix parameters when SSR is enabled, the router directly parses the request URL, and upstream proxies allow semicolons and multiple path segments, eventually exhausting the Node.js old-space heap and terminating the SSR worker. Pure client-side Angular applications are not affected. This issue is fixed in versions 20.3.32, 21.2.24, and 22.2.0.
Title Angular: Denial of Service via Numeric URL Matrix Parameters 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'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-20T01:32:46.385Z

Reserved: 2026-09-28T15:55:37.906Z

Link: CVE-2026-101896

cve-icon Vulnrichment

Updated: 2026-10-20T01:32:42.275Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-14T16:17:29.013

Modified: 2026-10-20T02:17:08.003

Link: CVE-2026-101896

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-19T13:07:40Z

Weaknesses
  • CWE-400

    Uncontrolled Resource Consumption

  • CWE-770

    Allocation of Resources Without Limits or Throttling