Executive brief
A vulnerability in the Angular Service Worker library can cause web applications to unintentionally send sensitive user credentials, such as login cookies, to servers even when developers have explicitly instructed the application to omit them. Additionally, private data that should never be stored may be saved in the browser's local cache, potentially allowing sensitive information to remain accessible on a device even after a user has logged out. This flaw undermines privacy controls intended to protect user sessions and sensitive data in web-based mobile and desktop applications.
Technical details
A vulnerability exists in the @angular/service-worker package where an internal helper function used during request reconstruction strips explicit safety parameters from Fetch API Request objects. Specifically, when the service worker intercepts requests for matched assets, it reverts 'credentials: omit' to 'same-origin' and resets 'cache: no-store' to default browser behaviors. This results in the browser including active credentials (cookies or Authorization headers) on outbound requests that were intended to be anonymous, and causes non-cacheable resources to be stored in the service worker's engine. An attacker could potentially access private page states persistent in the local cache post-logout or intercept leaked session tokens. The issue is fixed in versions 19.2.23, 20.3.22, 21.2.15, and 22.0.0-rc.2.
Affected products
- angular angular < 19.2.23, >= 20.0.0-next.0 < 20.3.22, >= 21.0.0-next.0 < 21.2.15, >= 22.0.0-next.0 < 22.0.0-rc.2
Timeline
- 2026-05-24: other: Fix pull request submitted
- 2026-05-27: patched: Fix merged into main branch
- 2026-05-28: advisory: GitHub Security Advisory published
- 2026-06-22: disclosed: CVE published to NVD