Impact
Angular’s template preprocessing and runtime sanitizers do not fully recognize elements and attributes within custom namespaces such as SVG or MathML. Namespaced script tags like <svg:script> or attributes prefixed with a namespace can slip past Angular’s filter and be compiled into the DOM, allowing malicious code to be injected. This flaw is a form of input validation bypass that permits an attacker to inject executable code that runs in the client's browser, violating confidentiality and integrity of client data. The vulnerability is categorized as CWE‑79.
Affected Systems
The issue exists in Angular packages @angular/compiler and @angular/core released before 22.0.0‑rc.2, 21.2.15, 20.3.22 and 19.2.22. Upgrading to releases 22.0.0‑rc.2 or later, 21.2.15 or later, 20.3.22 or later, or 19.2.22 or later eliminates the vulnerability.
Risk and Exploitability
The CVSS score of 5.3 indicates moderate severity. No EPSS data is available and the vulnerability is not listed in CISA’s KEV catalog, suggesting limited public exploitation. However, based on the description, the likely attack vector is via any user‑controlled input rendered as an Angular template. An attacker who can supply or manipulate such input can execute arbitrary JavaScript in the victim’s browser. While no known exploitation campaigns are documented, the potential impact justifies prompt remediation.
OpenCVE Enrichment
Github GHSA