Skip to content

chore(deps): update dependency @angular/core [security]#1094

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/npm-angular-core-vulnerability
Open

chore(deps): update dependency @angular/core [security]#1094
renovate[bot] wants to merge 1 commit intomainfrom
renovate/npm-angular-core-vulnerability

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Jan 9, 2026

This PR contains the following updates:

Package Change Age Confidence
@angular/core (source) 19.2.1819.2.19 age confidence
@angular/core (source) 20.3.1620.3.17 age confidence
@angular/core (source) ^19.0.0 || ^20.0.0^19.2.19 ^19.2.19 age confidence

Review

  • Updates have been tested and work
  • If updates are AWS related, versions match the infrastructure (e.g. Lambda runtime, database, etc.)

Angular i18n vulnerable to Cross-Site Scripting

CVE-2026-27970 / GHSA-prjf-86w9-mfqv

More information

Details

A Cross-site Scripting (XSS) vulnerability has been identified in the Angular internationalization (i18n) pipeline. In ICU messages (International Components for Unicode), HTML from translated content was not properly sanitized and could execute arbitrary JavaScript.

Angular i18n typically involves three steps, extracting all messages from an application in the source language, sending the messages to be translated, and then merging their translations back into the final source code. Translations are frequently handled by contracts with specific partner companies, and involve sending the source messages to a separate contractor before receiving final translations for display to the end user.

If the returned translations have malicious content, it could be rendered into the application and execute arbitrary JavaScript.

Impact

When successfully exploited, this vulnerability allows for execution of attacker controlled JavaScript in the application origin. Depending on the nature of the application being exploited this could lead to:

  • Credential Exfiltration: Stealing sensitive user data stored in page memory, LocalStorage, IndexedDB, or cookies available to JS and sending them to an attacker controlled server.
  • Page Vandalism: Mutating the page to read or act differently than intended by the developer.
Attach Preconditions
  • The attacker must compromise the translation file (xliff, xtb, etc.).
  • Unlike most XSS vulnerabilities, this one is not exploitable by arbitrary users. An attacker must first compromise an application's translation file before they can escalate privileges into the Angular application client.
  • The victim application must use Angular i18n.
  • The victim application must use one or more ICU messages.
  • The victim application must render an ICU message.
  • The victim application must not defend against XSS via a safe Content-Security Policy (CSP) or Trusted Types.
Patches
  • 21.2.0
  • 21.1.6
  • 20.3.17
  • 19.2.19
Workarounds

Until the patch is applied, developers should consider:

  • Reviewing and verifying translated content received from untrusted third parties before incorporating it in an Angular application.
  • Enabling strict CSP controls to block unauthorized JavaScript from executing on the page.
  • Enabling Trusted Types to enforce proper HTML sanitization.
References

Severity

  • CVSS Score: 7.0 / 10 (High)
  • Vector String: CVSS:4.0/AV:L/AC:L/AT:N/PR:H/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

References

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


Release Notes

angular/angular (@​angular/core)

v19.2.19

Compare Source

Breaking Changes

core
  • Angular now only applies known attributes from HTML in translated ICU content. Unknown attributes are dropped and not rendered.

    (cherry picked from commit 03da204)

core
Commit Type Description
747548721d fix block creation of sensitive URI attributes from ICU messages

Configuration

📅 Schedule: Branch creation - "" in timezone America/Montreal, 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.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


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

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

@renovate
Copy link
Contributor Author

renovate bot commented Jan 9, 2026

⚠️ Artifact update problem

Renovate failed to update artifacts related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: packages/angular/tests/app/package-lock.json
npm warn Unknown env config "store". This will stop working in the next major version of npm.
npm error code ERESOLVE
npm error ERESOLVE could not resolve
npm error
npm error While resolving: gc-design-system-components-angular-test-app@0.0.0
npm error Found: @angular/compiler@20.3.16
npm error node_modules/@angular/compiler
npm error   peer @angular/compiler@"^20.0.0" from @angular/build@20.3.16
npm error   node_modules/@angular/build
npm error     dev @angular/build@"^20.1.5" from the root project
npm error   peer @angular/compiler@"20.3.16" from @angular/compiler-cli@20.3.16
npm error   node_modules/@angular/compiler-cli
npm error     peer @angular/compiler-cli@"^20.0.0" from @angular/build@20.3.16
npm error     node_modules/@angular/build
npm error       dev @angular/build@"^20.1.5" from the root project
npm error     dev @angular/compiler-cli@"^20.1.0" from the root project
npm error   1 more (the root project)
npm error
npm error Could not resolve dependency:
npm error @angular/core@"20.3.17" from the root project
npm error
npm error Conflicting peer dependency: @angular/compiler@20.3.17
npm error node_modules/@angular/compiler
npm error   peerOptional @angular/compiler@"20.3.17" from @angular/core@20.3.17
npm error   node_modules/@angular/core
npm error     @angular/core@"20.3.17" from the root project
npm error
npm error Fix the upstream dependency conflict, or retry
npm error this command with --force or --legacy-peer-deps
npm error to accept an incorrect (and potentially broken) dependency resolution.
npm error
npm error
npm error For a full report see:
npm error /runner/cache/others/npm/_logs/2026-02-28T22_20_29_243Z-eresolve-report.txt
npm error A complete log of this run can be found in: /runner/cache/others/npm/_logs/2026-02-28T22_20_29_243Z-debug-0.log

File name: package-lock.json
npm warn Unknown env config "store". This will stop working in the next major version of npm.
npm error code ERESOLVE
npm error ERESOLVE could not resolve
npm error
npm error While resolving: @angular/animations@19.2.18
npm error Found: @angular/core@19.2.19
npm error node_modules/@angular/core
npm error   @angular/core@"^19.2.18" from the root project
npm error   peer @angular/core@">=15.0.0 <21.0.0" from jest-preset-angular@14.6.2
npm error   node_modules/jest-preset-angular
npm error     dev jest-preset-angular@"^14.4.2" from the root project
npm error   2 more (@gcds-core/components-angular, @stencil/angular-output-target)
npm error
npm error Could not resolve dependency:
npm error peer @angular/core@"19.2.18" from @angular/animations@19.2.18
npm error node_modules/@angular/animations
npm error   @angular/animations@"^19.2.15" from the root project
npm error   peerOptional @angular/animations@"19.2.18" from @angular/platform-browser@19.2.18
npm error   node_modules/@angular/platform-browser
npm error     dev @angular/platform-browser@"^19.2.15" from the root project
npm error     3 more (@angular/forms, @angular/platform-browser-dynamic, @angular/router)
npm error
npm error Conflicting peer dependency: @angular/core@19.2.18
npm error node_modules/@angular/core
npm error   peer @angular/core@"19.2.18" from @angular/animations@19.2.18
npm error   node_modules/@angular/animations
npm error     @angular/animations@"^19.2.15" from the root project
npm error     peerOptional @angular/animations@"19.2.18" from @angular/platform-browser@19.2.18
npm error     node_modules/@angular/platform-browser
npm error       dev @angular/platform-browser@"^19.2.15" from the root project
npm error       3 more (@angular/forms, @angular/platform-browser-dynamic, @angular/router)
npm error
npm error Fix the upstream dependency conflict, or retry
npm error this command with --force or --legacy-peer-deps
npm error to accept an incorrect (and potentially broken) dependency resolution.
npm error
npm error
npm error For a full report see:
npm error /runner/cache/others/npm/_logs/2026-02-28T22_20_31_032Z-eresolve-report.txt
npm error A complete log of this run can be found in: /runner/cache/others/npm/_logs/2026-02-28T22_20_31_032Z-debug-0.log

@renovate renovate bot force-pushed the renovate/npm-angular-core-vulnerability branch 7 times, most recently from d434008 to f383550 Compare January 15, 2026 13:06
@renovate renovate bot force-pushed the renovate/npm-angular-core-vulnerability branch 3 times, most recently from 2dd9df9 to 94d8cc8 Compare January 21, 2026 16:22
@renovate renovate bot force-pushed the renovate/npm-angular-core-vulnerability branch 3 times, most recently from 046cb97 to c5688ee Compare February 5, 2026 22:41
@renovate renovate bot changed the title chore(deps): update dependency @angular/core [security] chore(deps): update dependency @angular/core to v20.3.16 [security] Feb 5, 2026
@renovate renovate bot force-pushed the renovate/npm-angular-core-vulnerability branch 3 times, most recently from ec62b7a to 47b6be7 Compare February 12, 2026 20:38
@renovate renovate bot force-pushed the renovate/npm-angular-core-vulnerability branch 8 times, most recently from 5447179 to bae7b86 Compare February 23, 2026 16:46
@renovate renovate bot requested a review from a team as a code owner February 23, 2026 16:46
@renovate renovate bot changed the title chore(deps): update dependency @angular/core to v20.3.16 [security] chore(deps): update dependency @angular/core to v20.3.16 [security] - autoclosed Feb 23, 2026
@renovate renovate bot closed this Feb 23, 2026
@renovate renovate bot deleted the renovate/npm-angular-core-vulnerability branch February 23, 2026 17:20
@renovate renovate bot changed the title chore(deps): update dependency @angular/core to v20.3.16 [security] - autoclosed chore(deps): update dependency @angular/core [security] Feb 28, 2026
@renovate renovate bot reopened this Feb 28, 2026
@renovate renovate bot force-pushed the renovate/npm-angular-core-vulnerability branch 2 times, most recently from 10e8e3d to 9c49fb7 Compare February 28, 2026 22:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants