Skip to main content
← All vulnerabilities
CVE-2026-50184GHSA-95QP-CMMW-MGQV

Angular: Request Credential & Cache Policy Stripping in Angular Service Worker

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 22.0.0-rc.2, 21.2.15, 20.3.22, 19.2.23
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: partial

Summary

Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 22.0.0-rc.2, 21.2.15, 20.3.22, and 19.2.23, an issue in the @angular/service-worker package compromises the integrity of request-policy enforcement during request reconstruction. When the Angular Service Worker intercepts network requests for matched assets, it reconstructs a new Request object 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 HTTP cache mode configuration (such as cache: '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. This vulnerability is fixed in 22.0.0-rc.2, 21.2.15, 20.3.22, and 19.2.23.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • angular angular

    From 22.0.0-next.0 · fixed in 22.0.0-rc.2; From 21.0.0-next.0 · fixed in 21.2.15; From 20.0.0-next.0 · fixed in 20.3.22; From 19.0.0-next.0 · fixed in 19.2.23; through 18.2.14

  • @angular/service-workernpm

    From 22.0.0-next.0 · fixed in 22.0.0-rc.2

  • @angular/service-workernpm

    From 21.0.0-next.0 · fixed in 21.2.15

  • @angular/service-workernpm

    From 20.0.0-next.0 · fixed in 20.3.22

  • @angular/service-workernpm

    From 19.0.0-next.0 · fixed in 19.2.23

  • @angular/service-workernpm

    through 18.2.14

References 2

GitHub · angular/angular