5.3 MEDIUM
- CVSS version (CVSS): 4.0
- Attack Vector (AV): Network (N)
- Attack Complexity (AC): Low (L)
- Attack Requirement (AT): None (N)
- Privileges Required (PR): None (N)
- User Interaction (UI): Passive (P)
- Vulnerable System Impact Confidentiality (VC): Low (L)
- Vulnerable System Impact Integrity (VI): Low (L)
- Vulnerable System Impact Availability (VA): None (N)
- Subsequent System Impact Confidentiality (SC): None (N)
- Subsequent System Impact Integrity (SI): None (N)
- Subsequent System Impact Availability (SA): None (N)
- Modified Attack Vector (MAV): Network (N)
- Modified Attack Complexity (MAC): Low (L)
- Modified Attack Requirement (MAT): None (N)
- Modified Privileges Required (MPR): None (N)
- Modified User Interaction (MUI): Passive (P)
- Modified Vulnerable System Impact Confidentiality (MVC): Low (L)
- Modified Vulnerable System Impact Integrity (MVI): Low (L)
- Modified Vulnerable System Impact Availability (MVA): None (N)
- Modified Subsequent System Impact Confidentiality (MSC): Negligible (N)
- Modified Subsequent System Impact Integrity (MSI): Negligible (N)
- Modified Subsequent System Impact Availability (MSA): Negligible (N)
- Safety (S): Not Defined (X)
- Automatable (AU): Not Defined (X)
- Recovery (R): Not Defined (X)
- Value Density (V): Not Defined (X)
- Vulnerability Response Effort (RE): Not Defined (X)
- Provider Urgency (U): Not Defined (X)
- Confidentiality Req. (CR): Not Defined (X)
- Integrity Req. (IR): Not Defined (X)
- Availability Req. (AR): Not Defined (X)
- Exploit Maturity (E): Not Defined (X)
Activity log
- Created suggestion
Angular: Two-Way Property Binding Sanitization Bypass (XSS)
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.
References
-
https://github.com/angular/angular/security/advisories/GHSA-58w9-8g37-x9v5 x_refsource_CONFIRM
-
https://github.com/angular/angular/pull/69107 x_refsource_MISC
Affected products
- ==<= 19.2.25
- ==>= 21.0.0-next.0 < 21.2.17
- ==>= 20.0.0-next.0 < 20.3.25
- ==>= 22.0.0-next.0 < 22.0.1
Matching in nixpkgs
pkgs.angular-language-server
LSP for angular completions, AOT diagnostic, quick info and go to definitions
pkgs.nodePackages.%40angular%2Fcli
None
pkgs.nodePackages_latest.%40angular%2Fcli
None
pkgs.vscode-extensions.angular.ng-template
Editor services for Angular templates
pkgs.vimPlugins.nvim-treesitter-parsers.angular
Tree-sitter grammar for angular
-
nixos-unstable 0.0.0+rev=f0d0685
- nixpkgs-unstable 0.0.0+rev=f0d0685
- nixos-unstable-small 0.0.0+rev=f0d0685
-
nixos-26.05 0.0.0+rev=f0d0685
- nixos-26.05-small 0.0.0+rev=f0d0685
- nixpkgs-26.05-darwin 0.0.0+rev=f0d0685
Package maintainers
-
@tricktron Thibault Gagnaux <tgagnaux@gmail.com>
-
@ratsclub Victor Freire <victor@freire.dev.br>