Update dependency @angular/common to v19 [SECURITY]#91
Conversation
|
There was a problem hiding this comment.
Code Review
This pull request updates the @angular/common dependency to version 19.0.0. Feedback indicates that this creates a version mismatch with other Angular core packages still on version 18. Additionally, it is recommended to upgrade to version 19.2.16 or higher to resolve a security vulnerability (CVE-2025-66035).
| "@angular/animations": "^18.2.0", | ||
| "@angular/cdk": "^18.2.6", | ||
| "@angular/common": "^18.2.0", | ||
| "@angular/common": "^19.0.0", |
There was a problem hiding this comment.
Updating only @angular/common to v19 while keeping other Angular dependencies (such as @angular/core, @angular/compiler, and @angular/forms) at v18 creates a version mismatch. Angular framework packages are tightly coupled and must be upgraded together to the same major version to avoid peer dependency conflicts and potential runtime issues. Furthermore, the security fix for CVE-2025-66035 is specifically included in version 19.2.16 and above. The package-lock.json file is also out of sync.
| "@angular/common": "^19.0.0", | |
| "@angular/common": "^19.2.16", |
This PR contains the following updates:
^18.2.0→^19.0.0Angular is Vulnerable to XSRF Token Leakage via Protocol-Relative URLs in Angular HTTP Client
CVE-2025-66035 / GHSA-58c5-g7wp-6w37
More information
Details
The vulnerability is a Credential Leak by App Logic that leads to the unauthorized disclosure of the Cross-Site Request Forgery (XSRF) token to an attacker-controlled domain.
Angular's HttpClient has a built-in XSRF protection mechanism that works by checking if a request URL starts with a protocol (
http://orhttps://) to determine if it is cross-origin. If the URL starts with protocol-relative URL (//), it is incorrectly treated as a same-origin request, and the XSRF token is automatically added to theX-XSRF-TOKENheader.Impact
The token leakage completely bypasses Angular's built-in CSRF protection, allowing an attacker to capture the user's valid XSRF token. Once the token is obtained, the attacker can perform arbitrary Cross-Site Request Forgery (CSRF) attacks against the victim user's session.
Attack Preconditions
POST) to a protocol-relative URL (e.g.,//attacker.com) that they control.Patches
Workarounds
Developers should avoid using protocol-relative URLs (URLs starting with
//) in HttpClient requests. All backend communication URLs should be hardcoded as relative paths (starting with a single/) or fully qualified, trusted absolute URLs.Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
angular/angular (@angular/common)
v19.2.16Compare Source
http
v19.2.15Compare Source
Breaking Changes
core
The server-side bootstrapping process has been changed to eliminate the reliance on a global platform injector.
Before:
After:
A schematic is provided to automatically update
main.server.tsfiles to pass theBootstrapContextto thebootstrapApplicationcall.In addition,
getPlatform()anddestroyPlatform()will now returnnulland be a no-op respectively when running in a server environment.core
BootstrapContextfor improved server bootstrapping (#63639)v19.2.14Compare Source
compiler
migrations
v19.2.13Compare Source
common
service-worker
v19.2.12Compare Source
common
compiler
compiler-cli
core
rxResourceabort listener (#58306)withEventReplay()is invoked (#61352)onDestroyintoSignal. (#61514)platform-server
v19.2.11Compare Source
v19.2.10Compare Source
common
updateLatestValueif view is destroyed before promise resolves (#61064)core
platform-server
v19.2.9Compare Source
core
v19.2.8Compare Source
forms
v19.2.7Compare Source
common
NgOptimizedImageexceeds the preload limit (#60883)core
http
httpResource(#60802)v19.2.6Compare Source
compiler
compiler-cli
core
language-service
v19.2.5Compare Source
animations
@angular/common(#60660)compiler
compiler-cli
rootDir(#60555)core
language-service
migrations
router
service-worker
v19.2.4Compare Source
core
localize
platform-browser
platformBrowserTestingincludesplatformBrowserproviders (#60480)v19.2.3Compare Source
compiler-cli
core
platform-browser-dynamic
@angular/common(#60458)upgrade
v19.2.2Compare Source
common
compiler
compiler-cli
core
platform-server
rxjs(#60308)router
v19.2.1Compare Source
Breaking Changes
core
The server-side bootstrapping process has been changed to eliminate the reliance on a global platform injector.
Before:
After:
A schematic is provided to automatically update
main.server.tsfiles to pass theBootstrapContextto thebootstrapApplicationcall.In addition,
getPlatform()anddestroyPlatform()will now returnnulland be a no-op respectively when running in a server environment.core
BootstrapContextfor improved server bootstrapping (#63639)v19.2.0Compare Source
common
httpResource(#59876)compiler
core
resource()(#59655)hasValuenarrowing toResourceRef(#59708)resource()'sprevious.state(#59708)forms
migrations
platform-browser
platform-server
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.