# CVE-2026-101896: Angular Server-Side Rendering denial of service via numeric URL matrix parameters

Source: https://junglewise.ai/threats/cve-2026-101896-angular-server-side-rendering-ssr-denial-of-service-via-numeric  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-14. Updated: 2026-09-30  
License: CC BY 4.0 with a link back

CVE-2026-101896 · Severity: high · CVSS 4 · Published 2026-10-14

Angular applications using Server-Side Rendering on Node.js are vulnerable to denial of service attacks through specially crafted URLs containing numeric matrix parameters. An attacker can send a modest number of concurrent requests with these malicious URLs to exhaust server memory and crash the application, making it unavailable to legitimate users. Client-side Angular applications without server-side rendering are not affected. This vulnerability requires specific architectural configurations but can be triggered by unauthenticated remote attackers.

Technologies: [Google Angular](https://junglewise.ai/threats/technologies/google-angular), [@angular/router (npm)](https://junglewise.ai/threats/technologies/angular-router). Vendors: [Google](https://junglewise.ai/threats/vendors/google), [npm](https://junglewise.ai/threats/vendors/npm).

## Quick answers

**Is CVE-2026-101896 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-101896 being exploited in the wild.

**How severe is CVE-2026-101896?** High severity, with a CVSS score of 4, published 14 October 2026.

**Which products and versions are affected?** Google Angular Before 20.3.32, 21.x before 21.2.24, 22.x before 22.2.0; @angular/router (npm) SEMVER:introduced=22.0.0,fixed=22.2.0.

**Is there a fix for CVE-2026-101896?** Yes. @angular/router (npm): upgrade to 22.2.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-101896 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-101896?** Check whether you run Google Angular or @angular/router (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- @angular/router (npm): upgrade to 22.2.0 or later

  ```sh
  npm install @angular/router@22.2.0
  ```


## Technical details

The vulnerability exists in @angular/router's URL parsing logic during SSR, which stores matrix parameters in plain JavaScript objects. When numeric strings are used as parameter names (e.g., /a;990;2522), V8's property storage heuristics trigger allocation of oversized dense array backing stores instead of sparse dictionary storage, creating ~350x memory amplification. An unauthenticated remote attacker can exploit this via network requests containing repeated numeric matrix parameters to exhaust the Node.js heap with modest concurrency (12-100 concurrent requests depending on path size), forcing an out-of-memory crash. Patches are available in Angular versions 22.2.0, 21.2.24, and 20.3.32.

## Affected products

- Google Angular Before 20.3.32, 21.x before 21.2.24, 22.x before 22.2.0

## Identifiers

- CVE-2026-101896
- GHSA-ff3f-86qr-9cv3

## Timeline

- 2026-09-30: disclosed
- 2026-09-30: patched: Patches released in versions 22.2.0, 21.2.24, and 20.3.32

## Related threats

- [Angular router denial of service via unmatched empty-path outlet matching in SSR](https://junglewise.ai/threats/cve-2026-111752-angular-router-denial-of-service-via-unmatched-empty-path-outlet)
- [Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. From 21.](https://junglewise.ai/threats/cve-2026-111751-angular-router-denial-of-service-via-routerlink-query-parameter)
