{
 "version": "https://jsonfeed.org/version/1.1",
 "title": "@angular/ platform-server: important CVE events",
 "home_page_url": "https://patchwire.jonathanross.dev/products/angular--platform-server/",
 "feed_url": "https://patchwire.jonathanross.dev/feeds/products/angular--platform-server/important.json",
 "authors": [
  {
   "name": "Patchwire"
  }
 ],
 "language": "en",
 "items": [
  {
   "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"
  }
 ]
}
