{"cve":"CVE-2026-54265","nvd":{"published":"2026-06-22T16:16:39.187","modified":"2026-07-09T15:39:01.300","status":"Analyzed","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.","cvss_v4":{"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","score":5.3},"cvss_v3":{"version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","score":6.1},"cwes":["CWE-79"],"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"],"products":["angular:angular"],"source":"nvd","synced_at":"2026-10-19T22:39:28.638635428+00:00"},"epss":{"cve":"CVE-2026-54265","score":0.00344,"percentile":0.27924,"date":"2026-10-31"},"kev":null,"osv":[{"id":"GHSA-58w9-8g37-x9v5","url":"https://osv.dev/vulnerability/GHSA-58w9-8g37-x9v5","summary":"@angular/compiler: Two-Way Property Binding Sanitization Bypass (XSS)","modified":"2026-09-10T03:51:07.859837869Z","packages":[{"ecosystem":"npm","name":"@angular/compiler","purl":"pkg:npm/%40angular/compiler","ranges":[">=22.0.0-next.0 <22.0.1"],"fixed":["22.0.1"]},{"ecosystem":"npm","name":"@angular/compiler","purl":"pkg:npm/%40angular/compiler","ranges":[">=21.0.0-next.0 <21.2.17"],"fixed":["21.2.17"]},{"ecosystem":"npm","name":"@angular/compiler","purl":"pkg:npm/%40angular/compiler","ranges":[">=20.0.0-next.0 <20.3.25"],"fixed":["20.3.25"]},{"ecosystem":"npm","name":"@angular/compiler","purl":"pkg:npm/%40angular/compiler","ranges":["<=19.2.25"],"fixed":[]}]}],"attribution":["This product uses the NVD API but is not endorsed or certified by the NVD.","EPSS scores: FIRST Exploit Prediction Scoring System, https://www.first.org/epss","Known exploited vulnerabilities: CISA Known Exploited Vulnerabilities Catalog, https://www.cisa.gov/known-exploited-vulnerabilities-catalog","Package advisories: OSV (https://osv.dev), from the GitHub Advisory Database, PyPA, Go, RustSec and other ecosystem databases, under CC-BY 4.0 or CC0","CVE records: the CVE Program's CVE List (https://www.cve.org), under its terms of use (https://www.cve.org/Legal/TermsOfUse). CVE is a registered trademark of The MITRE Corporation; this product is not affiliated with the CVE Program."]}