CVE-2026-32635 Angular has XSS in i18n attribute bindings

High 8.6 Published Updated

Attackers can inject malicious scripts via i18n attribute bindings in Angular applications, bypassing sanitization mechanisms.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2026-32635?

CVE-2026-32635 is a high-severity cross-site scripting vulnerability in @angular compiler, published on 13 Mar 2026. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.

Official description

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.

Weakness: CWE-79

Which versions are affected by CVE-2026-32635?

20 open source packages ship an affected version, including @angular/compiler and @angular/core. It affects 1 product.

PackageAffectedFixed in
@angular/compiler npmFrom 17.0.0-next.0 to 18.2.14None
@angular/compiler npmFrom 17.0.0-next.0 to 18.2.14None
@angular/compiler npmFrom 19.0.0-next.019.2.20
@angular/compiler npmFrom 19.0.0-next.019.2.20
@angular/compiler npmFrom 20.0.0-next.0.0.020.3.18
@angular/compiler npmFrom 20.0.0-next.0.0.020.3.18
14 more packages
@angular/compiler npmFrom 21.0.0-next.021.2.4
@angular/compiler npmFrom 21.0.0-next.021.2.4
@angular/compiler npmFrom 22.0.0-next.022.0.0-next.3
@angular/compiler npmFrom 22.0.0-next.022.0.0-next.3
@angular/core npmFrom 17.0.0-next.0 to 18.2.14None
@angular/core npmFrom 17.0.0-next.0 to 18.2.14None
@angular/core npmFrom 19.0.0-next.019.2.20
@angular/core npmFrom 19.0.0-next.019.2.20
@angular/core npmFrom 20.0.0-next.0.0.020.3.18
@angular/core npmFrom 20.0.0-next.0.0.020.3.18
@angular/core npmFrom 21.0.0-next.021.2.4
@angular/core npmFrom 21.0.0-next.021.2.4
@angular/core npmFrom 22.0.0-next.022.0.0-next.3
@angular/core npmFrom 22.0.0-next.022.0.0-next.3

Products include Angular Angular Cli.

How do I fix CVE-2026-32635?

Upgrade @angular/compiler to a fixed version for your release line: 19.2.20, 20.3.18, 21.2.4 or 22.0.0-next.3.

Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.

Is CVE-2026-32635 being exploited?

There is no known exploitation of CVE-2026-32635 in the wild and no public exploit code.

Public exploit code: 1 proofs of concept on GitHub.

Sources

Also known as CLSA-2026-1775521847, CLSA-2026-1775521853, CLSA-2026-1792161115, CLSA-2026-1792161116, CLSA-2026-1792163504, CLSA-2026-1792163505 and 27 more.

Is CVE-2026-32635 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free