Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/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
Attack requires build-time control of translation files (PR:L, AC:H); XSS is delivered over the network but user must load page (UI:R); scope changes to browser context (S:C).
Primary rating from Vendor (https://github.com/angular/angular).
CVSS VectorVendor: https://github.com/angular/angular
Lifecycle Timeline
6DescriptionCVE.org
A Cross-Site Scripting (XSS) vulnerability has been identified in the Angular compiler's internationalization (i18n) pipeline. Although Angular disallows binding to event-handler attributes such as onclick and onerror through standard attribute validation (validateAttribute() / validateProperty()), the i18n metadata collection path allowed these same attribute names to be marked for translation using i18n-on* attributes (e.g., i18n-onerror).
When exploited, a lower-trust translation file could replace a benign static handler such as onerror="void 0" with arbitrary executable JavaScript in the localized build.
The following example illustrates a vulnerable pattern:
<img src="foo.jpg" onerror="void 0" i18n-onerror />Impact
When exploited, this vulnerability allows arbitrary JavaScript execution within the context of the vulnerable application's domain if an attacker can control or influence the translation files used during localization. This can lead to:
- Session Hijacking: Accessing session cookies, tokens, or sensitive user data.
- Unauthorized Actions: Performing actions on behalf of the authenticated user.
Patched Versions
- 22.0.1
- 21.2.19
- 20.3.27
Workarounds
Ensure that static event-handler attributes (e.g., onerror, onclick) are never marked for internationalization (i18n-on*) in application templates, and ensure translation files are sourced from trusted origins.
AnalysisAI
Cross-site scripting in the Angular compiler's i18n pipeline allows arbitrary JavaScript injection into localized application builds when event-handler attributes such as onerror or onclick are marked for translation using i18n-on* template directives. Angular's standard validateAttribute() and validateProperty() guards block binding to event-handler attributes at runtime, but the I18nMetaVisitor code path in packages/compiler/src/render3/view/i18n/meta.ts contained no equivalent restriction, enabling a lower-trust translation file to replace a benign handler with executable JavaScript at compile time. Patched versions 22.0.1, 21.2.19, and 20.3.27 are available; no public exploit has been identified at time of analysis.
Same weakness CWE-79 – Cross-site Scripting (XSS)
View allVendor StatusVendor
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-52369
GHSA-jj27-h5hq-8x99