GHSA-q6f4-qqrg-jv6x

Suggest an improvement
Source
https://github.com/advisories/GHSA-q6f4-qqrg-jv6x
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/06/GHSA-q6f4-qqrg-jv6x/GHSA-q6f4-qqrg-jv6x.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-q6f4-qqrg-jv6x
Aliases
Downstream
CGA (38)
Published
2026-06-15T16:51:53Z
Modified
2026-09-10T03:50:50Z
Severity
  • 7.5 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N CVSS Calculator
  • 8.2 (High) CVSS_V4 - 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 CVSS Calculator
Summary
@angular/common: Information Leak via Default Caching of Credentialed Requests in HttpTransferCache
Details

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
Database specific
{
    "cwe_ids":  [
        "CWE-524"
    ],
    "github_reviewed":  true,
    "github_reviewed_at":  "2026-06-15T16:51:53Z",
    "nvd_published_at":  "2026-06-22T18:16:42Z",
    "severity":  "HIGH"
}
References

Affected packages

npm / @angular/common

Package

Name
@angular/common
View open source insights on deps.dev
Purl
pkg:npm/%40angular/common

Affected ranges

Type
SEMVER
Events
Introduced
22.0.0-next.0
Fixed
22.0.0-rc.2

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/06/GHSA-q6f4-qqrg-jv6x/GHSA-q6f4-qqrg-jv6x.json"

npm / @angular/common

Package

Name
@angular/common
View open source insights on deps.dev
Purl
pkg:npm/%40angular/common

Affected ranges

Type
SEMVER
Events
Introduced
20.0.0-next.0
Fixed
20.3.22

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/06/GHSA-q6f4-qqrg-jv6x/GHSA-q6f4-qqrg-jv6x.json"

npm / @angular/common

Package

Name
@angular/common
View open source insights on deps.dev
Purl
pkg:npm/%40angular/common

Affected ranges

Type
SEMVER
Events
Introduced
19.0.0-next.0
Fixed
19.2.23

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/06/GHSA-q6f4-qqrg-jv6x/GHSA-q6f4-qqrg-jv6x.json"

npm / @angular/common

Package

Name
@angular/common
View open source insights on deps.dev
Purl
pkg:npm/%40angular/common

Affected ranges

Type
SEMVER
Events
Introduced
0 Unknown introduced version / All previous versions are affected
Last Affected
18.2.14

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/06/GHSA-q6f4-qqrg-jv6x/GHSA-q6f4-qqrg-jv6x.json"

npm / @angular/common

Package

Name
@angular/common
View open source insights on deps.dev
Purl
pkg:npm/%40angular/common

Affected ranges

Type
SEMVER
Events
Introduced
21.0.0-next.0
Fixed
21.2.15

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/06/GHSA-q6f4-qqrg-jv6x/GHSA-q6f4-qqrg-jv6x.json"