Skip to content

chore(deps): update dependency @angular/compiler to v22.1.0 [security] - autoclosed - #380

Closed
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/npm-angular-compiler-vulnerability
Closed

chore(deps): update dependency @angular/compiler to v22.1.0 [security] - autoclosed#380
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/npm-angular-compiler-vulnerability

Conversation

@renovate

@renovate renovate Bot commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
@angular/compiler (source) 22.0.822.1.0 age confidence

Angular: Sanitization bypass via directive host bindings on concrete host elements in @​angular/core and @​angular/compiler

CVE-2026-88057 / GHSA-hh8m-fm6v-7cvg

More information

Details

Angular automatically sanitizes untrusted values bound to security-sensitive DOM sinks (such as href, src, action, xlink:href, and data) to protect against Cross-Site Scripting (XSS).

Prior to the fix, the Angular compiler determined the SecurityContext for directive host bindings (host: {'[attr.href]': 'value'} or @HostBinding('attr.href')) based solely on the declaring directive or component selector at compile time, rather than the concrete host element that the directive was applied to.

When a directive with a security-sensitive host binding was applied to a different concrete host element—such as through:

  • hostDirectives composition,
  • Class inheritance of host bindings,
  • Dynamic component instantiation (createComponent with custom hostElement or dynamic directives),
  • Elements with SVG/MathML namespaces (e.g. <svg:a>, <math>), or
  • Elements using tag-neutral selectors (e.g. :not(...)),

the compiler either failed to associate a sanitizer with the host binding or attached an incorrect security context. As a result, untrusted inputs (e.g. javascript:... URLs) bound via the host binding would be written to the DOM attribute without passing through Angular's built-in sanitizer.

Impact

An attacker capable of controlling the value bound to an affected directive host binding could execute arbitrary JavaScript in the user's browser context (Cross-Site Scripting).

Patches

This issue has been resolved in versions:

  • 22.1.0
  • 21.2.20
  • 20.3.28
Workarounds

Ensure that any user-controlled values assigned to properties bound via directive host bindings are explicitly sanitized using DomSanitizer.sanitize(SecurityContext.URL, ...) before assignment, or restrict the input to validated safe URL schemes (e.g. http://, https://).

Severity

  • CVSS Score: 5.3 / 10 (Medium)
  • Vector String: 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

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Release Notes

angular/angular (@​angular/compiler)

v22.1.0

Compare Source

Deprecations

http
  • HttpClient.jsonp, HttpClientJsonpModule, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.
common
Commit Type Description
1ad6824d0d fix skip transfer cache for uncacheable HTTP traffic (#​69017)
compiler
Commit Type Description
af5e4e1131 feat Add an error for --global-foo cases (#​68846)
d579ecaf73 feat Disable '--global-' error outside of g3 (#​68846)
f98547675c feat Namespace CSS variables to the app (#​68846)
8c8b2f7783 feat Support css var namespacing in properties (#​68846)
292199aa4d fix permissive whitespace parsing in default never blocks
25c744c4d0 fix support foreign components defined outside top-level scope
5bd00add07 fix support foreign components inside control flow blocks (#​69674)
2e442f7876 perf do not emit tag name when control flow root is foreign component (#​69674)
compiler-cli
Commit Type Description
aeb55c8bc1 fix allow passing uninvoked signals as foreign component props
7c60a98b3c fix support import aliases in foreignImports (#​68674)
core
Commit Type Description
124ba10ead feat add custom set option to linkedSignal
eab4847a8b feat Adds deep linking from Performance panel to DevTools
091456a214 fix account for namespaces in host binding sanitization (#​69558)
b3748e9fe4 fix correct container anchor collection order to match DOM layout
11b206b919 fix introduce disposal mechanism for Angular views in foreign @content
56607967db fix introduce logical-only containers for foreign content
23cf1a828b fix sanitize host bindings on concrete hosts (#​69558)
0c07356c5c fix set current tnode in foreign component instruction on reuse
forms
Commit Type Description
bbbd357bd2 fix add utility to assert that value is a field tree
http
Commit Type Description
e3630c23c5 feat add options to allow caching of credentialed and non-cacheable HTTP requests
ec16a3d6c6 fix enable xsrf for root-provided HttpClient
39e362eea5 fix match header values exactly when deleting
be46ca8696 fix preserve immutability of materialized clones
c0cbd46bd7 fix skip transfer cache for fetch credentialed requests (#​69017)
af04e266cc refactor deprecate jsonp support
language-service
Commit Type Description
7f0265e43a feat compile non-exported classes if standalone (#​68454)
4f9c824dd9 feat Typecheck templates which would require inline typecheck blocks (#​68454)
a99fb915c0 fix account for strictTemplates being enabled by default
migrations
Commit Type Description
c75ff0255c feat add migration from injectable to service
5d5b2ea72d fix correctly detect then/else keywords in control flow migration
platform-server
Commit Type Description
cf9d7fa0f8 fix harden platform location origin validation during SSR (#​69184)
router
Commit Type Description
97a3fd6a55 feat handle null and undefined inputs in RouterLinkActive

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added the dependencies Pull requests that update a dependency file label Sep 11, 2026
@renovate renovate Bot changed the title chore(deps): update dependency @angular/compiler to v22.1.0 [security] chore(deps): update dependency @angular/compiler to v22.1.0 [security] - autoclosed Sep 11, 2026
@renovate renovate Bot closed this Sep 11, 2026
@renovate
renovate Bot deleted the renovate/npm-angular-compiler-vulnerability branch September 11, 2026 15:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants