fix(deps): update dependency @angular/service-worker to v20.3.25 [security] - #69
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/npm-angular-service-worker-vulnerability
branch
from
September 17, 2026 17:36
7b67210 to
3ef571b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
20.3.3→20.3.25Angular Service Worker Policy-Bypass & Credential-Stripping Vulnerabilities
CVE-2026-50169 / GHSA-gv2q-mqqv-365m
More information
Details
An issue in the
@angular/service-workerpackage compromises the integrity of request-policy enforcement during request reconstruction. When the Angular Service Worker intercepts network requests for matched assets, it reconstructs a newRequestobject using an internal helper function.During this reconstruction process, the helper function strips the strict, client-defined request redirect policy configuration (such as
redirect: 'error'), falling back to the browser's default'follow'strategy.If the target web application makes client-side requests with a strict policy (e.g., expecting a network error instead of automatically following redirects), the service worker will bypass this instruction and automatically follow HTTP 3xx redirects to other destinations. This acts as an unintended proxy/intermediary ("Confused Deputy") and can result in cookie/credential exposure or same-origin session-restricted data leakage if public dynamic routes redirect to sensitive routes.
Impact
Web applications registering the
@angular/service-workerpackage are vulnerable to this redirect-policy bypass if they make safe client-side fetch calls (such as{ redirect: 'error' }) to paths matched by a service worker asset group (such as lazy-loaded JavaScript bundles or dynamic public assets) that can return HTTP redirects to authenticated same-origin secure endpoints.By stripping developer-defined safety boundaries, the service worker allows the browser to transparently query and return data from credentials-guarded resources that should have been blocked at the network barrier.
Attack Preconditions
To successfully exploit this vulnerability, all of the following application states and parameters must concurrently exist:
@angular/service-workerand has an active registration ofngsw-worker.jsinside the client's browser context.assetGroupspattern inngsw-config.jsonencompasses the target dynamic routing endpoint./private/account-summary.json).{ redirect: 'error' }.Mitigations & Workarounds
If upgrading the
@angular/service-workerpackage is not immediately feasible, developers should implement the following defensive measures:SameSite=Strict; Secure; HttpOnly) and consider explicit route isolations (such as subdomains) for credential-guarded private resources.ngsw-config.jsonsettings and ensure that patterns targeting dynamic, secure endpoints are explicitly excluded from automatic asset groups or caching scopes.Patches
Severity
CVSS:4.0/AV:L/AC:H/AT:P/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
@angular/service-worker: Request Credential & Cache Policy Stripping
CVE-2026-50184 / GHSA-95qp-cmmw-mgqv
More information
Details
An issue in the
@angular/service-workerpackage compromises the integrity of request-policy enforcement during request reconstruction. When the Angular Service Worker intercepts network requests for matched assets, it reconstructs a newRequestobject using an internal helper function.During this reconstruction process, the helper function strips explicit client-defined safety parameters: the credentials configuration (such as
credentials: 'omit') and the HTTPcachemode configuration (such ascache: 'no-store'). These are reverted back to standard browser-default parameters (credentials: 'same-origin'and default HTTP cache properties).This causes the browser to include active credentials (such as cookies or Authorization headers) on outbound requests where the client-side developer explicitly instructed they should be omitted, leading to potential session leaks. Additionally, it causes private or non-cacheable resources to be cached by the service worker's engine, making private page states accessible or persistent inside the client's local cache post-logout.
Impact
Web applications registering the
@angular/service-workerpackage are vulnerable to credential exposure or post-logout cache persistence if client-side code relies on fetch calls with explicit safety attributes (such as{ credentials: 'omit' }or{ cache: 'no-store' }) targeting paths matched by service worker asset groups.By stripping these safety boundaries, the service worker exposes same-origin cookies and dynamic sensitive data to endpoints that should not receive them, or retains dynamic user sessions in cache storage where logout operations fail to fully evict user records.
Attack Preconditions
To successfully exploit this vulnerability, all of the following application states and parameters must concurrently exist:
@angular/service-workerand has an active registration ofngsw-worker.jsinside the client's browser context.assetGroupspattern inngsw-config.jsonencompasses the target dynamic routing endpoint.{ credentials: 'omit' }or specific cache control parameters (e.g.{ cache: 'no-store' }).Mitigations & Workarounds
If upgrading the
@angular/service-workerpackage is not immediately feasible, developers should implement the following defensive measures:SameSite=Strict; Secure; HttpOnly) and ensure complete route isolation for credential-guarded secure resources.ngsw-config.json.Patches
Severity
CVSS:4.0/AV:L/AC:H/AT:P/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
@angular/service-worker: Sensitive Header Leakage on Cross-Origin Redirects in Angular Service Worker
CVE-2026-54264 / GHSA-qxh6-94w6-9r5p
More information
Details
An information disclosure vulnerability exists in the
@angular/service-workerpackage of the Angular framework. When the Service Worker fetches assets, it preserves metadata (such as headers) from the original request. However, on cross-origin redirects, the Service Worker fails to strip sensitive headers, violating the Fetch redirect algorithm.This allows a remote attacker to obtain sensitive credentials (e.g.,
Authorizationtokens,Proxy-Authorizationcredentials, or session cookies) by triggering a cross-origin redirect to an untrusted external origin.Impact
If an application configured with the Angular Service Worker fetches assets with credential headers (such as
Authorizationheader), and one of those requests is redirected to a different origin, the Service Worker will forward those headers to the new origin. This exposes critical credentials and session identifiers to unauthorized third-party servers.Attack Preconditions
For this vulnerability to be exploitable:
@angular/service-workerpackage to fetch assets.Authorization,Proxy-Authorization, or rely on cookies) to asset-group requests.Patched Versions
Credits
This vulnerability was discovered and reported by CodeMender from Google DeepMind.
Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/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/service-worker)
v20.3.25Compare Source
Deprecations
platform-server
@angular/platform-serveris deprecated. Use standardfetchAPIs instead.common
compiler
core
http
platform-server
service-worker
v20.3.24Compare Source
platform-server
v20.3.23Compare Source
compiler
v20.3.22Compare Source
common
compiler
core
http
platform-server
service-worker
v20.3.21Compare Source
platform-server
allowedHostsoption torenderModuleandrenderApplicationv20.3.20Compare Source
core
platform-server
v20.3.19Compare Source
platform-server
v20.3.18Compare Source
compiler
core
v20.3.17Compare 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
v20.3.16Compare Source
core
v20.3.15Compare Source
compiler
attributeNameand MathML/SVG URLsv20.3.14Compare Source
http
v20.3.13Compare Source
v20.3.12Compare Source
v20.3.11Compare Source
common
compiler
core
v20.3.10Compare Source
compiler-cli
migrations
v20.3.9Compare Source
v20.3.7Compare Source
animations
Element.animateexceptions (#64506)compiler
compiler-cli
core
router
v20.3.6Compare Source
core
platform-browser
DomEventsPluginshould always be the last plugin to be called forsupports(). (#50394)v20.3.5Compare Source
compiler-cli
core
animate.leavefunction bindings (#64413)migrations
router
v20.3.4Compare Source
core
migrations
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.