CVE-2026-50557 PUBLISHED

Angular: Template and Attribute Namespace Sanitization Bypass (XSS)

Assigner: GitHub_M
Reserved: 04.06.2026 Published: 22.06.2026 Updated: 22.06.2026

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.22, an issue in the @angular/compiler and @angular/core packages allows bypassing element and attribute sanitization/validation through specific namespace workarounds. Specifically, namespaced script elements (e.g., <svg:script> or <:svg:script>) were not properly identified as script elements by the Angular template preparser, allowing them to pass through template compilation without being stripped. Furthermore, security context schema mappings for element attributes did not consistently handle attributes within namespaced elements (like SVG and MathML), opening up gaps where malicious namespaced attributes could bypass runtime and compile-time sanitizers. Combined, these flaws enable an attacker who can inject or supply a template/tag structure with custom namespaces to bypass Angular's script-stripping logic and attribute sanitizers, leading to 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.22.

Metrics

CVSS Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
CVSS Score: 5.3

Product Status

Vendor angular
Product angular
Versions
  • Version >= 21.0.0-next.0 < 21.2.15 is affected
  • Version >= 22.0.0-next.0 < 22.0.0-rc.2 is affected
  • Version >= 20.0.0-next.0 < 20.3.22 is affected
  • Version >= 19.0.0-next.0 < 19.2.22 is affected
  • Version <= 18.2.14 is affected

References

Problem Types

  • CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') CWE