Description
Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 20.3.28, 21.2.20, and 22.1.0, Angular's compiler and runtime in @angular/core and @angular/compiler could omit or select an incorrect sanitizer for security-sensitive directive host bindings because SecurityContext was derived from the declaring directive or component selector rather than the concrete host element. The mismatch is reachable through hostDirectives composition, inherited HostBinding declarations, createComponent with a custom hostElement or dynamic directives, SVG/MathML namespace elements, and tag-neutral selectors such as :not(...). Attacker-controlled href, src, action, xlink:href, or data values can therefore reach DOM attributes without Angular's built-in sanitizer and execute arbitrary JavaScript in the user's browser context. Applications unable to upgrade can use DomSanitizer.sanitize with SecurityContext.URL before assignment or restrict inputs to validated HTTP and HTTPS URL schemes. This issue is fixed in versions 20.3.28, 21.2.20, and 22.1.0.
Published: 2026-09-10
Score: 5.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Cross‑Site Scripting (XSS) via directive host bindings
Action: Upgrade
AI Analysis

Impact

Angular vulnerabilities in earlier releases allowed an attacker to inject malicious script content into DOM attributes by exploiting sanitized directive host bindings. The flaw arose because the compiler and runtime chose a sanitizer based on the component or directive selector rather than the concrete host element, enabling the use of URLs, hrefs, or data attributes that bypass Angular’s built‑in sanitization. This defect could lead to execution of arbitrary JavaScript in the user’s browser, compromising confidentiality and integrity of the application. The weakness is an example of CWE‑79.

Affected Systems

The affected products are the angular:angular framework, specifically the @angular/core and @angular/compiler libraries in versions prior to 20.3.28, 21.2.20, and 22.1.0. Angular versions earlier than these releases are susceptible; the issue does not affect later releases.

Risk and Exploitability

The vulnerability has a base CVSS score of 5.3, indicating a moderate risk. No EPSS score is available, and the vulnerability is not listed in the CISA KEV catalog. An attacker can exploit the flaw by creating or manipulating host directives, inherited HostBinding declarations, or using custom host elements—also via SVG/MathML or tag‑neutral selectors. By controlling attributes such as href or src, the attacker can inject JavaScript that runs in the client’s context. The exploit path requires legitimate Access to the application’s code or the ability to inject directives or components, which many web applications expose through user input.

Generated by OpenCVE AI on September 10, 2026 at 22:33 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Angular to version 20.3.28, 21.2.20, or 22.1.0 or later, as these releases include a fix for the sanitizer mismatch.
  • If an upgrade is not immediately possible, apply the temporary workaround by calling DomSanitizer.sanitize with SecurityContext.URL before assigning user‑provided values to sensitive attributes.
  • Restrict input values to explicitly validated HTTP or HTTPS URLs and avoid using user input for attributes that can trigger scripts.

Generated by OpenCVE AI on September 10, 2026 at 22:33 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-hh8m-fm6v-7cvg Angular: Sanitization bypass via directive host bindings on concrete host elements in @angular/core and @angular/compiler
History

Fri, 11 Sep 2026 09:00:00 +0000

Type Values Removed Values Added
First Time appeared Angular
Angular angular
Vendors & Products Angular
Angular angular

Thu, 10 Sep 2026 19:00:00 +0000

Type Values Removed Values Added
Description Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 20.3.28, 21.2.20, and 22.1.0, Angular's compiler and runtime in @angular/core and @angular/compiler could omit or select an incorrect sanitizer for security-sensitive directive host bindings because SecurityContext was derived from the declaring directive or component selector rather than the concrete host element. The mismatch is reachable through hostDirectives composition, inherited HostBinding declarations, createComponent with a custom hostElement or dynamic directives, SVG/MathML namespace elements, and tag-neutral selectors such as :not(...). Attacker-controlled href, src, action, xlink:href, or data values can therefore reach DOM attributes without Angular's built-in sanitizer and execute arbitrary JavaScript in the user's browser context. Applications unable to upgrade can use DomSanitizer.sanitize with SecurityContext.URL before assignment or restrict inputs to validated HTTP and HTTPS URL schemes. This issue is fixed in versions 20.3.28, 21.2.20, and 22.1.0.
Title Angular: Sanitization bypass via directive host bindings on concrete host elements in @angular/core and @angular/compiler
Weaknesses CWE-79
References
Metrics cvssV4_0

{'score': 5.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-10T18:46:51.847Z

Reserved: 2026-09-09T21:22:45.434Z

Link: CVE-2026-88057

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-09-10T19:17:41.627

Modified: 2026-09-10T19:44:21.980

Link: CVE-2026-88057

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-11T08:45:17Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')