Skip to main content

Angular Common CVE-2026-50170

| EUVDEUVD-2026-38292 HIGH
Use of Cache Containing Sensitive Information (CWE-524)
2026-06-15 https://github.com/angular/angular GHSA-q6f4-qqrg-jv6x
8.2
CVSS 4.0 · Vendor: https://github.com/angular/angular
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Identify SSR Angular app behind shared cache
  2. Delivery
    Victim authenticates and loads page
  3. Exploit
    SSR caches credentialed response in TransferState
  4. Install
    CDN stores rendered HTML by URL
  5. C2
    Attacker requests same URL unauthenticated
  6. Execute
    Receive cached HTML with victim data
  7. Impact
    Parse TransferState to extract private information

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V3 - Web Frontend Security Cache-Control for sensitive pages
Exploitation Conditions

Three concrete conditions must all hold: (1) the Angular application enables SSR with hydration via provideClientHydration() and uses @angular/common in a vulnerable version; (2) the SSR pass issues HttpClient requests that authenticate via a Cookie header or withCredentials: true (Authorization-header auth is already excluded and not vulnerable); (3) a shared caching layer in front of the app (CDN, reverse proxy, or server-side full-page cache) stores the rendered HTML without varying on session identity or marking it private. Limiting factors: applications using only token/Authorization-header auth, applications without SSR/hydration, and deployments where authenticated HTML is already marked Cache-Control: private/no-store are not exposed; exploitation is opportunistic and depends on cache key collisions rather than attacker-controlled inputs.

Impact

No NVD CVSS vector was supplied, but the vulnerability chain is realistic and high-impact for affected deployments: an unauthenticated attacker simply browses a cached page and receives another user's private data, requiring no interaction with the victim. The triggering conditions, however, materially limit population at risk - the app must use Angular SSR with hydration, must perform credentialed HTTP calls during the server render, and must sit behind a shared cache that does not vary on user identity. There is no KEV listing and no public POC referenced, so this is best treated as a serious latent data-exposure bug in a popular framework rather than an active mass-exploitation event; EPSS data was not provided. The most important caveat: exploitation is largely opportunistic (cache races/collisions) rather than directed, so impact depends heavily on the downstream caching layer's configuration, which is outside Angular's control.

Exploit ScenarioDerived

An authenticated user (Alice) loads an SSR page that fetches /api/profile during server-side render with her session cookie; HttpTransferCache embeds her profile JSON into the page's TransferState block, and the upstream CDN caches the resulting HTML keyed only by URL. Moments later, an unauthenticated attacker requests the same URL, receives Alice's cached HTML, and parses the TransferState block to extract her private profile data. No public exploit identified at time of analysis, but the attack is essentially passive cache-poisoning-by-observation and requires no special tooling.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jun 15, 2026

Information disclosure in @angular/common HttpTransferCache allows unauthenticated attackers to obtain other users' private data when Server-Side Rendering and hydration are enabled. The flaw stems from the cache failing to inspect the withCredentials flag or Cookie header, allowing credentialed responses to be serialized into SSR HTML and inadvertently shared via downstream CDN/reverse-proxy caches. No public exploit identified at time of analysis, but a vendor patch and detailed advisory describing the conditions are available.

RemediationAI

Vendor-released patches are available: upgrade @angular/common to 22.0.0-rc.2, 21.2.15, 20.3.22, or 19.2.23 depending on your major version, per advisory GHSA-q6f4-qqrg-jv6x and PR https://github.com/angular/angular/pull/67964. After patching, requests carrying a Cookie header or sent with withCredentials: true are excluded from HttpTransferCache by default, matching the existing exclusion for Authorization headers. If immediate upgrade is not possible, configure withHttpTransferCacheOptions to disable caching for sensitive endpoints, set includeRequestsWithAuthHeaders to false, or avoid issuing credentialed HTTP calls during SSR by deferring them to the client (trade-off: hydration benefits and time-to-content for authenticated views are reduced). Additionally, harden the downstream cache layer by adding Cache-Control: private, no-store for authenticated HTML responses or by varying cache keys on session cookies (trade-off: lower CDN hit rate for logged-in users). Vendor advisory: https://github.com/angular/angular/security/advisories/GHSA-q6f4-qqrg-jv6x; patch reference: https://github.com/angular/angular/pull/67964; additional context: https://www.herodevs.com/vulnerability-directory/cve-2026-50170.

Affected VersionsENISA

angular 21.0.0-next.0, < 21.2.15
angular 22.0.0-next.0, < 22.0.0-rc.2
angular 20.0.0-next.0, < 20.3.22
angular ≤ 18.2.14
angular 19.0.0-next.0, < 19.2.23

Affected Packages

npm @angular/common fix: 19.2.23, 20.3.22, 21.2.15, 22.0.0-rc.2
euvd angular no fix
euvd angular_19_0_0_next_0 fix: 19.2.23
euvd angular_20_0_0_next_0 fix: 20.3.22
euvd angular_21_0_0_next_0 fix: 21.2.15
euvd angular_22_0_0_next_0 fix: 22.0.0-rc.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 6 packages in npm, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Angular's @angular/common npm package provides the HttpTransferCache utility, which optimizes hydration by caching outgoing HEAD/GET HttpClient requests made during SSR and replaying them on the client via TransferState. Prior to the fix, shouldCacheRequest only excluded requests carrying Authorization or Proxy-Authorization headers; it did not check for the Cookie header or the withCredentials flag, both of which are the canonical mechanisms used to associate an HTTP request with a specific authenticated user. This is a CWE-524 (Use of Cache Containing Sensitive Information) flaw: user-specific HTTP responses end up embedded into the rendered HTML payload (TransferState block), and when an upstream shared cache (CDN, reverse proxy, or server-side cache) stores that HTML keyed only by URL, requests from different users can collide on the same cached page.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (https://github.com/angular/angular) PRIMARY 8.2 HIGH
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
vuln.today AI 6.8 MEDIUM

Network-reachable and unauthenticated, but high complexity because it requires a vulnerable SSR+hydration deployment behind a misconfigured shared cache; high confidentiality impact crossing user-trust boundary (scope change), no integrity or availability impact.

3.1 AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N

Primary rating from Vendor (https://github.com/angular/angular).

CVSS VectorVendor: https://github.com/angular/angular

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
CVSS changed
Jun 22, 2026 - 18:23 NVD
8.2 (HIGH)

DescriptionCVE.org

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.

Impact

Successful exploitation allows an unauthenticated attacker to obtain sensitive, user-specific information of other authenticated users. This occurs when:

  • The SSR-rendered HTML containing the cached private data is stored in a shared cache (e.g., CDN, reverse proxy).
  • Subsequent requests for the same page receive the cached HTML containing the first user's private data.

Attack Preconditions

  • SSR and Hydration Enabled: The Angular application must be configured to use Server-Side Rendering and hydration (e.g., using provideClientHydration()).
  • Credentialed Requests during SSR: The application must perform HTTP requests that require user-specific authentication (using cookies or withCredentials: true) during the initial server-side render.
  • Shared Caching: The application's HTML responses must be cached by a shared caching layer (CDN, reverse proxy, or server-side cache) without proper cache-control headers to distinguish authenticated users.

Patches

  • 22.0.0-rc.2
  • 21.2.15
  • 20.3.22
  • 19.2.23

Executive ViewAI

Why It Matters

The @angular/common HttpTransferCache vulnerability creates a data privacy exposure where authenticated user sessions can leak sensitive information through server caches when Server-Side Rendering is active. This affects organizations using Angular SSR architecture and could result in customer data being accessible to unauthorized parties through CDN or reverse proxy caches. A vendor patch is available and remediation should be prioritized.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 78% exploitable
Threat Intel
1
1 source
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

41
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +41
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy