Angular has XSS in i18n attribute bindings
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 22.0.0-next.3, 21.2.4, 20.3.18, 19.2.20
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- 1 proof of concept on GitHub
- Exploitation: none
- Automatable: no
- Technical impact: total
Summary
Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 22.0.0-next.3, 21.2.4, 20.3.18, and 19.2.20, a Cross-Site Scripting (XSS) vulnerability has been identified in the Angular runtime and compiler. It occurs when the application uses a security-sensitive attribute (for example href on an anchor tag) together with Angular's ability to internationalize attributes. Enabling internationalization for the sensitive attribute by adding i18n-<attribute> name bypasses Angular's built-in sanitization mechanism, which when combined with a data binding to untrusted user-generated data can allow an attacker to inject a malicious script. This vulnerability is fixed in 22.0.0-next.3, 21.2.4, 20.3.18, and 19.2.20.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- @angular compiler
From 22.0.0-next.0 · fixed in 22.0.0-next.3; From 21.0.0-next.0 · fixed in 21.2.4; From 20.0.0-next.0 · fixed in 20.3.18; From 17.0.0.next.0 · fixed in 19.2.20
- @angular core
From 22.0.0-next.0 · fixed in 22.0.0-next.3; From 21.0.0-next.0 · fixed in 21.2.4; From 20.0.0-next.0 · fixed in 20.3.18; From 17.0.0.next.0 · fixed in 19.2.20
- @angular/corenpm
From 22.0.0-next.0 · fixed in 22.0.0-next.3
- @angular/corenpm
From 21.0.0-next.0 · fixed in 21.2.4
- @angular/corenpm
From 20.0.0-next.0.0.0 · fixed in 20.3.18
- @angular/corenpm
From 19.0.0-next.0 · fixed in 19.2.20
- @angular/corenpm
From 17.0.0-next.0 · through 18.2.14
- @angular/compilernpm
From 22.0.0-next.0 · fixed in 22.0.0-next.3
- @angular/compilernpm
From 21.0.0-next.0 · fixed in 21.2.4
- @angular/compilernpm
From 20.0.0-next.0.0.0 · fixed in 20.3.18
- @angular/compilernpm
From 19.0.0-next.0 · fixed in 19.2.20
- @angular/compilernpm
From 17.0.0-next.0 · through 18.2.14