CVE-2026-101895 Angular SSR: Denial of Service (DoS) via Infinite Loop on Malformed DOCTYPE

High 8.7 Published Updated

Remote attackers can cause a denial of service in Angular SSR by sending malformed HTML that triggers an infinite loop in the DOM parser.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-101895?

CVE-2026-101895 is a high-severity denial of service vulnerability in @angular/ angular, published on 14 Oct 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

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.

Weakness: CWE-835, CWE-400

Which versions are affected by CVE-2026-101895?

8 open source packages ship an affected version, including @angular/platform-server.

PackageAffectedFixed in
@angular/platform-server npmAll versions to 19.2.25None
@angular/platform-server npmAll versions to 19.2.25None
@angular/platform-server npmFrom 20.0.020.3.31
@angular/platform-server npmFrom 20.0.020.3.31
@angular/platform-server npmFrom 21.0.021.2.23
@angular/platform-server npmFrom 21.0.021.2.23
2 more packages
@angular/platform-server npmFrom 22.0.022.1.6
@angular/platform-server npmFrom 22.0.022.1.6

How do I fix CVE-2026-101895?

Upgrade @angular/platform-server to a fixed version for your release line: 20.3.31, 21.2.23 or 22.1.6.

Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.

Is CVE-2026-101895 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-101895 exists.

Sources

Also known as CLSA-2026-1791028714, CLSA-2026-1791029776, CLSA-2026-1791030849, CLSA-2026-1791030976, CLSA-2026-1791031362, CLSA-2026-1791033793 and 690 more.

Is CVE-2026-101895 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free