Skip to main content

Angular EUVDEUVD-2026-52343

| CVE-2026-68945 HIGH
Insufficient Verification of Data Authenticity (CWE-345)
2026-08-03 https://github.com/angular/angular GHSA-jhpw-976m-542j
8.8
CVSS 4.0 · Vendor: https://github.com/angular/angular
Share

Severity by source

Vendor (https://github.com/angular/angular) PRIMARY
8.8 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
6.5 MEDIUM

Network vector as attack is HTTP-based; AC:H because SSR, hydration, and colliding parameter usage must all coincide; PR:N as attacker sends unauthenticated request; high confidentiality impact from authorization bypass, low integrity from state poisoning, no availability impact.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N
Red Hat
8.2 HIGH
qualitative

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

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

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

3
Source Code Evidence Fetched
Aug 03, 2026 - 16:16 vuln.today
Analysis Generated
Aug 03, 2026 - 16:16 vuln.today
CVE Published
Aug 03, 2026 - 15:59 cve.org
HIGH

DescriptionCVE.org

Angular's HttpTransferCache caches HTTP requests made during Server-Side Rendering (SSR) so that they can be reused during client-side hydration.

During SSR, HttpTransferCache previously generated identical key material for distinct request parameters when repeated values were present because repeated values were joined with commas:

ts
new HttpParams().set('role', 'user,admin')
new HttpParams().append('role', 'user').append('role', 'admin')

Both requests previously serialized as role=user,admin, allowing distinct HttpClient requests to produce the same transfer-cache key material.

Impact

In an SSR application, this cache-key ambiguity can make a later security-sensitive HttpClient request receive the response from an earlier semantically different request in the same render. For example, an attacker-influenced scalar-comma request can be cached and then replayed as the response for a trusted repeated-param authorization or data request to the same URL. As a result, Angular's server-rendered output can be based on the wrong backend response because the trusted request is not dispatched. This can lead to:

  • State Poisoning: Using incorrect or attacker-influenced cached responses for subsequent application logic.
  • Cross-Request Response Reuse: Reusing cached responses across requests with semantically different parameters.

Patched Versions

  • 22.0.2
  • 21.2.19
  • 20.3.27

Workarounds

If you cannot upgrade immediately, configure your HttpClient requests to skip transfer caching for sensitive endpoints where repeated parameter keys are used:

ts
this.http.get('/api/resource', {
  transferCache: false
});

Alternatively, disable the HTTP transfer cache globally in your application bootstrap config:

ts
import { provideClientHydration, withNoHttpTransferCache } from '@angular/platform-browser';

export const appConfig = {
  providers: [
    provideClientHydration(
      withNoHttpTransferCache()
    )
  ]
};

AnalysisAI

HttpTransferCache key collision in Angular's Server-Side Rendering subsystem enables cache poisoning by exploiting identical serialization of scalar comma-separated query parameters and semantically distinct repeated query parameters against the same endpoint. Angular SSR applications using client-side hydration across versions 20.x, 21.x, and 22.x - and 19.x with no available patch - are at risk of having security-sensitive HttpClient responses silently replaced by earlier attacker-influenced cached responses, bypassing trusted backend authorization calls entirely. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Access
Identify Angular SSR endpoint consuming repeated query params for auth
Delivery
Craft scalar-comma parameter variant of same request
Exploit
Trigger SSR render causing attacker-controlled response to be cached under collision key
Execution
Legitimate user triggers SSR render with repeated-param authorization request
Persist
HttpTransferCache returns attacker-influenced cached response; backend call skipped
Impact
Server-rendered output reflects wrong authorization state or attacker-controlled data

Vulnerability AssessmentAI

Exploitation Exploitation requires all of the following conditions to be simultaneously true: the Angular application must be configured for Server-Side Rendering using @angular/ssr; client-side hydration must be enabled via provideClientHydration() (the standard SSR setup); HttpTransferCache must not have been disabled either globally via withNoHttpTransferCache() or per-request via { transferCache: false }; the application must expose at least one endpoint where both a scalar comma-delimited parameter variant and a repeated multi-value parameter variant of the same key are valid and semantically different; and the attacker must be able to cause or predict that the scalar-comma variant request is processed and cached before the security-sensitive repeated-param request during the same SSR render cycle. … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment Real-world risk is moderate-to-high for applications that use Angular SSR with HttpTransferCache and rely on repeated query parameters for authorization or data scoping decisions. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario An attacker identifies an Angular SSR application that uses repeated query parameters to scope an authorization check, such as GET /api/items?role=user&role=admin. The attacker sends a prior request to the same URL with the scalar comma variant GET /api/items?role=user,admin containing attacker-controlled data, causing the SSR cache to store that response under the colliding key. …
Remediation Upgrade @angular/common to the appropriate patched release: 22.0.2 for 22.x applications, 21.2.19 for 21.x applications, or 20.3.27 for 20.x applications, as documented in the GitHub Advisory at https://github.com/angular/angular/security/advisories/GHSA-jhpw-976m-542j. … Detailed patch versions, workarounds, and compensating controls in full report.

Recommended ActionAI

Within 24 hours, inventory all applications using Angular SSR versions 19.x through 22.x and identify current version deployments. …

Sign in for detailed remediation steps and compensating controls.

Threat intelligence, references, and detailed analysis are available after sign-in.

Vendor StatusVendor

Share

EUVD-2026-52343 vulnerability details – vuln.today

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