Exploitation status
No KEV listing in available snapshot
Absence from KEV does not establish absence of exploitation.
Indicator investigation
Loading the current evidence view. Navigation and account controls remain available.
Loading verdict, provenance, relationships and sightings.
Indicator
Type cve · source NVD CVE
KNOWN VULNERABILITY
Vulnerability investigation
The available snapshot does not list this vulnerability in CISA KEV; that is not proof exploitation has not occurred. These are public vulnerability signals, not proof that a specific environment runs an affected version.
Exploitation status
No KEV listing in available snapshot
Absence from KEV does not establish absence of exploitation.
30-day exploitation likelihood
Unavailable
FIRST EPSS did not return a score.
Technical severity
No verified base score
A connector confidence/type prior was not presented as CVSS.
Affected surface
1 parsed product
Angular Angular
Weakness class
CWE-79: Cross-site Scripting (XSS), CWE-471
CWE describes the weakness category, not whether a deployed product is reachable or exploitable.
Corpus evidence
1 connectors · 4 citations
No related report text is available in the local corpus.
Findings stay bounded to named sources and observable infrastructure.
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 <script> 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., <div [id]="userInput"> or <a id="ng-state">) before the genuine <script> 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.
The base CVE appears first. Independent evidence is added without blocking the page.
Investigation status
Checking for newly completed evidence
NIST NVD
NVD evidence is available in this response
CISA KEV
Known-exploitation catalog check is pending
FIRST EPSS
Forensia does not request or publish EPSS while source rights are under review
Reports
Report links are still being resolved
Relationships
Product and vulnerability relationships are still being prepared
Local EPSS row, KEV flag, and catalog notes from stored metadata only.
Vendor/product strings parsed from local CPE URIs (no inferred ATT&CK).
| Product | CPE (truncated) |
|---|---|
| Angular Angular | cpe:2.3:a:angular:angular:*:*:*:*:*:node.js:*:* |
Neighborhood topology. Open the graph for interactive pivots.
Loading connected indicators, reports and entities.
High-signal pivots without leaving the thread you started in search.
Structured pivots from local graph context.
Full investigation canvas with neighbor expansion.