What’s Vulnerable › Vulnerabilities
CVE-2026-54265: Angular: Two-Way Property Binding Sanitization Bypass (XSS)
- Severity: medium (CVSS 6.1 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.3% 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.1, 21.2.17, and 20.3.25, an issue in the @angular/compiler package allows bypassing DOM property sanitization through the use of two-way property bindings. Specifically, when a native DOM property that requires sanitization (such as innerHTML, srcdoc, src, href, data, or sandbox) is bound using the two-way binding syntax (e.g., [(innerHTML)]="value" or bindon-innerHTML="value"), the Angular template compiler failed to apply the appropriate schema-derived sanitizer resolution to the TwoWayProperty operation. As a result, native two-way DOM bindings were emitted without the required sanitizer function, whereas equivalent one-way bindings would be properly sanitized. This flaw enables an attacker who can control the value of a two-way bound sensitive property to bypass Angular's built-in sanitization logic, potentially leading to client-side Cross-Site Scripting (XSS). This vulnerability is fixed in 22.0.1, 21.2.17, and 20.3.25.
Affected products
- angular: through 19.2.25; from 20.0.0 before 20.3.25; from 21.0.0 before 21.2.17; from 22.0.0 before 22.0.1 — fixed in 20.3.25, 21.2.17, 22.0.1
How to fix
Upgrade to a fixed version: angular 20.3.25, 21.2.17, 22.0.1. Check the vendor advisory for mitigations.
References
- https://github.com/angular/angular/commit/3c70270c96677c0dd33585f2afe8e187113e5fb4
- https://github.com/angular/angular/pull/69107
- https://github.com/angular/angular/security/advisories/GHSA-58w9-8g37-x9v5
Get alerted when CVE-2026-54265 or the next vulnerability affects your stack