{
 "version": "https://jsonfeed.org/version/1.1",
 "title": "angular: important CVE events",
 "home_page_url": "https://patchwire.jonathanross.dev/products/angular--angular/",
 "feed_url": "https://patchwire.jonathanross.dev/feeds/products/angular--angular/important.json",
 "authors": [
  {
   "name": "Patchwire"
  }
 ],
 "language": "en",
 "items": [
  {
   "id": "tag:patchwire.jonathanross.dev,2026:CVE-2026-101896/disclosed",
   "url": "https://patchwire.jonathanross.dev/cve/CVE-2026-101896/",
   "title": "CVE-2026-101896 disclosed",
   "content_text": "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.",
   "date_published": "2026-10-14T15:05:42Z"
  },
  {
   "id": "tag:patchwire.jonathanross.dev,2026:CVE-2026-101896/fixed/npm",
   "url": "https://patchwire.jonathanross.dev/cve/CVE-2026-101896/",
   "title": "CVE-2026-101896 fixed upstream (npm)",
   "content_text": "Fixed versions: @angular/router 20.3.32, @angular/router 21.2.24, @angular/router 22.2.0.",
   "date_published": "2026-10-14T15:05:42Z"
  },
  {
   "id": "tag:patchwire.jonathanross.dev,2026:CVE-2026-101895/disclosed",
   "url": "https://patchwire.jonathanross.dev/cve/CVE-2026-101895/",
   "title": "CVE-2026-101895 disclosed",
   "content_text": "Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 20.3.31, 21.2.23, and 22.1.6, the @angular/platform-server DOM emulation parser can enter an infinite synchronous loop when Angular server-side rendering processes attacker-controlled HTML containing an incomplete DOCTYPE that ends with whitespace at end of input. In Domino lib/HTMLParser.js, after_doctype_name_state emits doctype and EOF tokens without advancing nextchar or leaving the fixed-lookahead state, so the scanner repeatedly handles the same EOF marker. A remote unauthenticated attacker can use this condition through server-side HTML parsing paths such as innerHTML binding to consume a Node.js SSR worker at full CPU, starve the event loop, and stop concurrent and subsequent requests. This issue is fixed in versions 20.3.31, 21.2.23, and 22.1.6.",
   "date_published": "2026-10-14T15:00:14Z"
  },
  {
   "id": "tag:patchwire.jonathanross.dev,2026:CVE-2026-101895/fixed/npm",
   "url": "https://patchwire.jonathanross.dev/cve/CVE-2026-101895/",
   "title": "CVE-2026-101895 fixed upstream (npm)",
   "content_text": "Fixed versions: @angular/platform-server 20.3.31, @angular/platform-server 21.2.23, @angular/platform-server 22.1.6.",
   "date_published": "2026-10-14T15:00:14Z"
  }
 ]
}
