CVE-2026-101896
Angular: Denial of Service via Numeric URL Matrix Parameters in Server-Side Rendering (SSR)
- Published
- Updated
- Reserved
- Assigned by
- GitHub_M
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.
Scores
| Scored by | CVSS | Score | Vector |
|---|---|---|---|
| GitHub_MCNA (assigner) | 4.0 | High8.2 | 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 |
| NVDNVD · Awaiting Analysis | 4.0 | High8.2 | 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
- EPSS (exploitation in 30 days)
- 0.91% · top 40% of all CVEs (5 Nov 2026)
- CISA SSVC
- Exploitation: none · Automatable: yes · Technical impact: partial
The list uses the assigner's score when there is one, then CISA's, then NVD's: High 8.2.
Weakness
Affected products
Affected packages
From reviewed advisories of the GitHub Advisory Database.
- npm@angular/routerGHSA-ff3f-86qr-9cv3 (opens in a new tab)
References (9)
- https://github.com/angular/angular/security/advisories/GHSA-ff3f-86qr-9cv3 (opens in a new tab)x_refsource_CONFIRM
- https://github.com/angular/angular/issues/70716 (opens in a new tab)x_refsource_MISC
- https://github.com/angular/angular/pull/70717 (opens in a new tab)x_refsource_MISC
- https://github.com/angular/angular/commit/03872a80bcf1c89b2b04cdd3f444b2ee954da583 (opens in a new tab)x_refsource_MISC
- https://github.com/angular/angular/commit/5af61216eab8bf4a6697a1d79bda3d857c06f89d (opens in a new tab)x_refsource_MISC
- https://github.com/angular/angular/commit/ddfe21072ba32ca4cd9d7d3c6b7df66af81d58c4 (opens in a new tab)x_refsource_MISC
- https://github.com/angular/angular/releases/tag/v20.3.32 (opens in a new tab)x_refsource_MISC
- https://github.com/angular/angular/releases/tag/v21.2.24 (opens in a new tab)x_refsource_MISC
- https://github.com/angular/angular/releases/tag/v22.2.0 (opens in a new tab)x_refsource_MISC
Sources
The same CVE in the primary databases and aggregators, to check against.
- CVE.org record (opens in a new tab)
- CVE List JSON (GitHub) (opens in a new tab)
- NVD (opens in a new tab)
- FIRST EPSS (opens in a new tab)
- OSV.dev (opens in a new tab)
- GitHub Advisory GHSA-ff3f-86qr-9cv3 (opens in a new tab)
- CIRCL Vulnerability-Lookup (opens in a new tab)
Badge for a README or a ticket
[](https://trackcve.app/cve/CVE-2026-101896)Record last updated .