CVE-2026-50170

Angular: Information Leak via Default Caching of Credentialed Requests in HttpTransferCache

Published Jun 22, 2026 CVSS 4.0 · 8.2 High EPSS < 1% KEV · Not listed
Description
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, a vulnerability was discovered in @angular/common when Server-Side Rendering (SSR) and hydration are enabled. The HttpTransferCache utility optimizes hydration by caching outgoing HTTP requests performed during SSR and transferring the cached state to the client-side application via TransferState. However, the caching mechanism fails to inspect the withCredentials flag or the Cookie header of outgoing requests. As a result, credentialed, user-specific responses may be cached by default in the shared TransferState payload. When these responses are serialized into the HTML, any caching layer (such as a CDN, reverse proxy, or shared server cache) that caches the SSR-rendered HTML page could inadvertently cache and leak one user's private data to other users, leading to a high-severity information disclosure vulnerability. This vulnerability is fixed in 22.0.0-rc.2, 21.2.15, 20.3.22, and 19.2.23.

Analysis

AI-generated

Technical impact

The HttpTransferCache feature in @angular/common is intended to cache HTTP requests made during server‑side rendering and transfer the cached state to the client via TransferState. Because the caching logic does not examine the withCredentials flag or Cookie header, responses that contain user‑specific credentials can be cached by default. When those responses are included in the HTML generated for SSR, any caching layer such as a CDN, reverse‑proxy, or shared server cache may store the page and later serve it to other users, thereby leaking private data. This flaw satisfies CWE‑524, specifically an improper handling of session‑based information.

Affected Systems

Angular developers using versions of @angular/common older than 22.0.0‑rc.2, 21.2.15, 20.3.22, or 19.2.23 are impacted. The problem manifests only when Server‑Side Rendering and hydration are enabled.

Risk and Exploitability

The CVSS score of 8.2 labels the flaw as high‑severity. No EPSS score is available and the vulnerability is not listed in CISA KEV, yet the potential for accidental data leakage remains significant. The likely attack vector involves a CDN or proxy that caches the SSR page; an attacker who can read the cached content can gain access to another user’s confidential information. Exploitation requires that the application renders SSR pages with transfer state containing credentialed responses, which is the normal operation of Angular SSR.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade all @angular/common packages to v22.0.0‑rc.2 or newer versions (21.2.15, 20.3.22, or 19.2.23 as appropriate).
  • If an upgrade is not immediately possible, configure the application to avoid caching credential‑enabled requests by disabling the withCredentials flag or removing Cookie headers from requests that may become part of the transfer state.
  • Ensure that any CDN, reverse‑proxy, or shared server cache that serves SSR pages is configured to not cache pages that contain TransferState data, or only cache pages that are rendered statelessly.

Generated by OpenCVE AI on June 22, 2026 at 18:26 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-q6f4-qqrg-jv6x @angular/common: Information Leak via Default Caching of Credentialed Requests in HttpTransferCache
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Angular
Angular angular
Vendors & Products Angular
Angular angular
Type Values Removed Values Added
Description 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, a vulnerability was discovered in @angular/common when Server-Side Rendering (SSR) and hydration are enabled. The HttpTransferCache utility optimizes hydration by caching outgoing HTTP requests performed during SSR and transferring the cached state to the client-side application via TransferState. However, the caching mechanism fails to inspect the withCredentials flag or the Cookie header of outgoing requests. As a result, credentialed, user-specific responses may be cached by default in the shared TransferState payload. When these responses are serialized into the HTML, any caching layer (such as a CDN, reverse proxy, or shared server cache) that caches the SSR-rendered HTML page could inadvertently cache and leak one user's private data to other users, leading to a high-severity information disclosure vulnerability. This vulnerability is fixed in 22.0.0-rc.2, 21.2.15, 20.3.22, and 19.2.23.
Title Angular: Information Leak via Default Caching of Credentialed Requests in HttpTransferCache
Weaknesses CWE-524
References
Metrics cvssV4_0

{'score': 8.2, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N'}

Weaknesses
  • CWE-524

    Use of Cache Containing Sensitive Information

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Jun 23, 2026, 4:00 PM
Reserved
Jun 3, 2026, 8:54 PM
Status
Analyzed
Published
Jun 22, 2026, 6:16 PM
Modified
Jul 9, 2026, 3:31 PM