Skip to content
Heist/ feed
High

Angular: Denial of Service via Numeric URL Matrix Parameters in Server-Side Rendering (SSR)

Type: advisorySource: Official CVE List1 source record

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.

Announced Source revision 1
Original source ↗

CVE-2026-101896

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2026-101896

angular

Source reference: /containers/cna/affected/0/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

router

Source reference: /containers/cna/affected/1/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "vendor": "angular",
    "product": "angular",
    "versions": [
      {
        "status": "affected",
        "version": "<= 19.2.25"
      },
      {
        "status": "affected",
        "version": ">= 20.0.0, < 20.3.32"
      },
      {
        "status": "affected",
        "version": ">= 21.0.0, < 21.2.24"
      },
      {
        "status": "affected",
        "version": ">= 22.0.0, < 22.2.0"
      }
    ]
  },
  {
    "vendor": "@angular",
    "product": "router",
    "versions": [
      {
        "status": "affected",
        "version": "<= 19.2.25"
      },
      {
        "status": "affected",
        "version": ">= 20.0.0, < 20.3.32"
      },
      {
        "status": "affected",
        "version": ">= 21.0.0, < 21.2.24"
      },
      {
        "status": "affected",
        "version": ">= 22.0.0, < 22.2.0"
      }
    ]
  }
]
Related CVEs
CVE-2026-101896

Source reference: /cveMetadata/cveId

Publisher severity

high

Source reference: /containers/cna/metrics

Linked CVE context

These ratings describe the referenced vulnerabilities and products. They are not a severity rating for every application using this dependency.

CVE-2026-101896 · High

@angular/router, @angular/router, @angular/router, @angular/router

Event
#42051 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement