CVE-2026-50557 json
Angular: Template and Attribute Namespace Sanitization Bypass (XSS)
published 2026-06-15 4 mo ago modified 2026-09-10 1 mo ago also EUVD-2026-38257 , GHSA-f3m7-gqxr-g87x
- cvss
- 6.1
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 35%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- npm @angular/core 19.2.22, 20.3.22, 21.2.15, 22.0.0-rc.2
- npm @angular/compiler 19.2.22, 20.3.22, 21.2.15, 22.0.0-rc.2
- angular angular 19.2.22, 20.3.22, 21.2.15, 22.0.0-rc.2
- angular angular/core 19.2.22, 20.3.22, 21.2.15, 22.0.0-rc.2
- angular angular/compiler 19.2.22, 20.3.22, 21.2.15, 22.0.0-rc.2
- github.com/angular/angular#68689 pull request
- github.com/angular/angular#68868 pull request
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-50557 updated cvss 6.1
@angular/compiler: @angular/core: Angular: Template and Attribute Namespace Sanitization Bypass (XSS)
-
Red Hat Advanced Cluster Management for Kubernetes 2 core 9.1.0 Red Hat build of Apicurio Registry 3 compiler 18.2.14affected: workaround, no fix available “Fix deferred”
-
Red Hat Enterprise Linux 7 firefox, firefox 140.12.0-1.el10_2 Red Hat Enterprise Linux 8 firefox, grafana, mozjs60, thunderbird, grafana-loki, grafana-mssql, +14 more Red Hat Enterprise Linux 9 firefox, grafana, firefox-x11, thunderbird, grafana-selinux, gjs 1.80.2-11.el10, +3 more Red Hat Enterprise Linux 10 gjs 1.80.2-11.el10, grafana 10.2.6-26.el10_2, firefox 140.12.0-1.el10_2, thunderbird 140.12.0-1.el10_2 Red Hat JBoss Enterprise Application Platform Expansion Pack angular 1.8.0 Red Hat OpenStack Platform 16.2 qpid-dispatch-tools, qpid-dispatch-routernot affected: vulnerable code not present
+2 more productsfewer
Red Hat Quay 3 quay/quay-rhel8, quay/quay-rhel9 Red Hat Single Sign-On 7 angular 1.8.0
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 4 mo ago
Exploit prediction
0.41% chance of exploitation in the next 30 days, higher than 35% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 5.3 | 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 |
| GitHub | 3.1 | 6.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
| CNA | 4.0 | 5.3 | 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 6.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | @angular/core | >=21.0.0-next.0, <21.2.15 >=22.0.0-next.0, <22.0.0-rc.2 >=20.0.0-next.0, <20.3.22 >=19.0.0-next.0, <19.2.22 <=18.2.14 |
21.2.15 22.0.0-rc.2 20.3.22 19.2.22 |
| npm | @angular/compiler | >=21.0.0-next.0, <21.2.15 >=22.0.0-next.0, <22.0.0-rc.2 >=20.0.0-next.0, <20.3.22 >=19.0.0-next.0, <19.2.22 <=18.2.14 |
21.2.15 22.0.0-rc.2 20.3.22 19.2.22 |
Affected products
- angular angular
Classification
- Weakness
-
- CWE-79 Improper Neutralization of Input During Web Page Generation
References
-
github.com
/angular/angular/pull/68689
web, issue-tracking, patch
-
github.com
/angular/angular/pull/68868
web, issue-tracking
-
github.com
/angular/angular/security/advisories/GHSA-f3m7-gqxr-g87x
web, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-50557
advisory
-
github.com
/angular/angular
package
Sources
- CVE List CVE-2026-50557
- GitHub Advisory GHSA-f3m7-gqxr-g87x
- NVD CVE-2026-50557
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.