PT-2026-49582 · Google · Angular

·

CVE-2026-54266

·

Published

2026-06-15

·

Updated

2026-06-22

CVSS v4.0

8.8

High

VectorAV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N
Name of the Vulnerable Software and Affected Versions Angular versions prior to 22.0.1 Angular versions prior to 21.2.17 Angular versions prior to 20.3.25
Description Angular's HttpTransferCache caches HTTP requests during Server-Side Rendering (SSR) to be reused during client-side hydration, preventing redundant requests on the client. These responses are stored in TransferState using cache keys generated by hashing request properties, including the method, response type, mapped URL, serialized body, and sorted query parameters. The system uses a weak 32-bit DJB2-like polynomial rolling hash, which has a small hash space that allows for hash collisions.
An attacker can identify a query parameter string, such as q=aaCAZMMM, that produces the same hash as a sensitive endpoint, such as '/api/user/profile'. If a victim visits a crafted link, the SSR process executes both requests, and the attacker-controlled response overwrites the sensitive response in the TransferState cache. This leads to state poisoning, where the application operates with forged data potentially bypassing security controls or causing DOM-based Cross-Site Scripting (XSS), and information leakage, where sensitive data may be disclosed.
Recommendations Update to version 22.0.1. Update to version 21.2.17. Update to version 20.3.25. As a temporary workaround, configure HttpClient requests to set transferCache to false for sensitive endpoints. Alternatively, disable the HTTP transfer cache globally in the application bootstrap configuration using withNoHttpTransferCache() within provideClientHydration().

Exploit

Fix

Insufficient Verification of Data Authenticity

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

CVE-2026-54266
GHSA-39PV-4J6C-2G6V

Affected Products

Angular