{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-50169","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","state":"PUBLISHED","assignerShortName":"GitHub_M","dateReserved":"2026-06-03T20:54:20.433Z","datePublished":"2026-06-22T15:41:17.125Z","dateUpdated":"2026-06-22T17:32:36.408Z"},"containers":{"cna":{"title":"Angular Service Worker Policy-Bypass & Credential-Stripping Vulnerabilities","problemTypes":[{"descriptions":[{"cweId":"CWE-200","lang":"en","description":"CWE-200: Exposure of Sensitive Information to an Unauthorized Actor","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-441","lang":"en","description":"CWE-441: Unintended Proxy or Intermediary ('Confused Deputy')","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-524","lang":"en","description":"CWE-524: Use of Cache Containing Sensitive Information","type":"CWE"}]}],"metrics":[{"cvssV4_0":{"attackVector":"LOCAL","attackComplexity":"HIGH","attackRequirements":"PRESENT","privilegesRequired":"NONE","userInteraction":"PASSIVE","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"NONE","vulnAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","baseScore":5.7,"baseSeverity":"MEDIUM","vectorString":"CVSS:4.0/AV:L/AC:H/AT:P/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","version":"4.0"}}],"references":[{"name":"https://github.com/angular/angular/security/advisories/GHSA-gv2q-mqqv-365m","tags":["x_refsource_CONFIRM"],"url":"https://github.com/angular/angular/security/advisories/GHSA-gv2q-mqqv-365m"},{"name":"https://github.com/angular/angular/pull/67494","tags":["x_refsource_MISC"],"url":"https://github.com/angular/angular/pull/67494"}],"affected":[{"vendor":"angular","product":"angular","versions":[{"version":">= 22.0.0-next.0, < 22.0.0-rc.2","status":"affected"},{"version":">= 21.0.0-next.0, < 21.2.15","status":"affected"},{"version":">= 20.0.0-next.0, < 20.3.22","status":"affected"},{"version":">= 19.0.0-next.0, < 19.2.23","status":"affected"},{"version":"<= 18.2.14","status":"affected"}]}],"providerMetadata":{"orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M","dateUpdated":"2026-06-22T15:46:26.364Z"},"descriptions":[{"lang":"en","value":"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 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. This vulnerability is fixed in 22.0.0-rc.2, 21.2.15, 20.3.22, and 19.2.23."}],"source":{"advisory":"GHSA-gv2q-mqqv-365m","discovery":"UNKNOWN"}},"adp":[{"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-06-22T17:32:21.478134Z","id":"CVE-2026-50169","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"title":"CISA ADP Vulnrichment","providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-06-22T17:32:36.408Z"}}]}}