CVE-2026-101895: Angular platform-server denial of service via malformed DOCTYPE

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

Angular's server-side rendering module uses the Domino HTML parser to process user-supplied HTML. When given a malformed DOCTYPE declaration, the parser enters an infinite loop that consumes 100% CPU, freezing the Node.js server and blocking all incoming requests. An unauthenticated attacker can trigger this by sending a simple incomplete DOCTYPE string.

Technologies: Angular @Angular/Platform-Server, @angular/platform-server (npm). Vendors: Angular, npm.

Quick answers

Is CVE-2026-101895 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-101895 being exploited in the wild.
How severe is CVE-2026-101895?
High severity, with a CVSS score of 4, published 14 October 2026.
Which products and versions are affected?
@angular/platform-server (npm) SEMVER:introduced=22.0.0,fixed=22.1.6.
Is there a fix for CVE-2026-101895?
Yes. @angular/platform-server (npm): upgrade to 22.1.6 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-101895 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-101895?
Check whether you run Angular @Angular/Platform-Server or @angular/platform-server (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/platform-server (npm): upgrade to 22.1.6 or later
    npm install @angular/platform-server@22.1.6

Technical details

The vulnerability exists in Domino's `after_doctype_name_state` tokenizer handler, which fails to advance the character pointer when EOF is encountered, causing the synchronous parser loop to repeatedly re-invoke the same state with the EOF marker. This infinite loop starves the Node.js event loop in a single-threaded runtime. The flaw is reachable when untrusted input is bound to `[innerHTML]` in Angular SSR templates.

Affected products

  • Angular @angular/platform-server

Identifiers

  • CVE-2026-101895
  • GHSA-f67j-2jqw-jpq7

Timeline

  • 2026-09-28: disclosed

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.