Angular up to 19.2.25 provideClientHydration cross site scripting
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 4.1 | $0-$5k | 4.14- |
Summary
A vulnerability classified as problematic has been found in Angular up to 19.2.25. Affected by this vulnerability is the function provideClientHydration. Performing a manipulation results in cross site scripting.
This vulnerability is known as CVE-2026-54267. Remote exploitation of the attack is possible. No exploit is available.
It is recommended to upgrade the affected component.
Details
A vulnerability classified as problematic has been found in Angular up to 19.2.25. This affects the function provideClientHydration. The manipulation with an unknown input leads to a cross site scripting vulnerability. CWE is classifying the issue as CWE-79. The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users. This is going to have an impact on integrity. The summary by CVE is:
Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 22.0.1, 21.2.17, and 20.3.25, to optimize client-side bootstrap in Server-Side Rendered (SSR) environments, Angular supports Hydration via provideClientHydration(). During SSR, Angular serializes the application's runtime state (such as cached HttpClient responses) and outputs it into the HTML stream as a tag with a predictable identifier. During client bootstrap, Angular recovers this state by looking up the element via document.getElementById('ng-state') and parsing its text content. Because the DOM element lookup for the state container is predictable and relies solely on the ID selector (ng-state), it is susceptible to DOM Clobbering. If the application binds untrusted user input or CMS content to element properties such as id (e.g., or ) before the genuine tag is parsed by the browser, the attacker-controlled element takes precedence in the DOM lookup. During hydration, when Angular calls document.getElementById('ng-state'), the browser returns the attacker's clobbered element. Angular then attempts to parse the text content or attributes of this clobbered element as JSON. This vulnerability is fixed in 22.0.1, 21.2.17, and 20.3.25.
It is possible to read the advisory at github.com. This vulnerability is uniquely identified as CVE-2026-54267 since 06/12/2026. The exploitability is told to be easy. It is possible to initiate the attack remotely. No form of authentication is needed for exploitation. It demands that the victim is doing some kind of user interaction. Technical details of the vulnerability are known, but there is no available exploit. The attack technique deployed by this issue is T1059.007 according to MITRE ATT&CK.
Upgrading to version 20.0.0-next.0 20.3.25, 21.0.0-next.0 21.2.17 or 22.0.0-next.0 22.0.1 eliminates this vulnerability.
Be aware that VulDB is the high quality source for vulnerability data.
Product
Type
Name
Version
- 19.2.0
- 19.2.1
- 19.2.2
- 19.2.3
- 19.2.4
- 19.2.5
- 19.2.6
- 19.2.7
- 19.2.8
- 19.2.9
- 19.2.10
- 19.2.11
- 19.2.12
- 19.2.13
- 19.2.14
- 19.2.15
- 19.2.16
- 19.2.17
- 19.2.18
- 19.2.19
- 19.2.20
- 19.2.21
- 19.2.22
- 19.2.23
- 19.2.24
- 19.2.25
Website
- Product: https://github.com/angular/angular/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Reliability: 🔍
CNA CVSS-B Score: 🔒
CNA CVSS-BT Score: 🔒
CNA Vector: 🔒
CVSSv3
VulDB Meta Base Score: 4.3VulDB Meta Temp Score: 4.1
VulDB Base Score: 4.3
VulDB Temp Score: 4.1
VulDB Vector: 🔒
VulDB Reliability: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍
Exploiting
Class: Cross site scriptingCWE: CWE-79 / CWE-94 / CWE-74
CAPEC: 🔒
ATT&CK: 🔒
Physical: No
Local: No
Remote: Yes
Availability: 🔒
Status: Not defined
Price Prediction: 🔍
Current Price Estimation: 🔒
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: Angular 20.0.0-next.0 20.3.25/21.0.0-next.0 21.2.17/22.0.0-next.0 22.0.1
Timeline
06/12/2026 CVE reserved06/22/2026 Advisory disclosed
06/22/2026 VulDB entry created
06/22/2026 VulDB entry last update
Sources
Product: github.comAdvisory: github.com
Status: Confirmed
CVE: CVE-2026-54267 (🔒)
GCVE (CVE): GCVE-0-2026-54267
GCVE (VulDB): GCVE-100-372735
Entry
Created: 06/22/2026 18:11Changes: 06/22/2026 18:11 (67)
Complete: 🔍
Cache ID: 216::103
Be aware that VulDB is the high quality source for vulnerability data.
No comments yet. Languages: en.
Please log in to comment.