What’s Vulnerable › Vulnerabilities
CVE-2026-52725: Angular Template and Dynamic Component Namespace Bypass leading to Cross-Site Scripting (XSS)
- Severity: medium (CVSS 6.1 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.5% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-06-22 · updated 2026-07-09
- Weakness: CWE-79
Description
Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 22.0.0-rc.2, 21.2.15, 20.3.22, and 19.2.23, an issue in the @angular/core package allows bypassing script-execution restrictions during dynamic component creation. Specifically, the dynamic component instantiation mechanism (createComponent) failed to reject mounting components directly onto a <script> or namespaced script element (such as <svg:script>). This enabled the initialization of custom components on a tag that executes scripts, allowing attackers to hijack or inject script-executing hosts. This flaw enables an attacker who can control the host element or selector parameter passed to createComponent to initialize or mount an Angular component directly onto a <script> tag, leading to execution of untrusted code or client-side Cross-Site Scripting (XSS). This vulnerability is fixed in 22.0.0-rc.2, 21.2.15, 20.3.22, and 19.2.23.
Affected products
- angular: through 18.2.14; from 19.0.0 before 19.2.23; from 20.0.0 before 20.3.22; from 21.0.0 before 21.2.15; 22.0.0-next0, 22.0.0-next1, 22.0.0-next10, 22.0.0-next11, 22.0.0-next12, 22.0.0-next2 (+9) — fixed in 19.2.23, 20.3.22, 21.2.15
How to fix
Upgrade to a fixed version: angular 19.2.23, 20.3.22, 21.2.15. Check the vendor advisory for mitigations.
References
- https://github.com/angular/angular/pull/68686
- https://github.com/angular/angular/pull/68713
- https://github.com/angular/angular/security/advisories/GHSA-692r-grfm-v8x7
Get alerted when CVE-2026-52725 or the next vulnerability affects your stack