Modification of Assumed-Immutable Data Affecting @angular/core package, versions <20.3.25>=21.0.0-next.0 <21.2.17>=22.0.0-next.0 <22.0.1


Severity

Recommended
0.0
high
0
10

CVSS assessment by Snyk's Security Team. Learn more

Threat Intelligence

Social Trends
EPSS
0.18% (8th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-JS-ANGULARCORE-17353317
  • published17 Jun 2026
  • disclosed15 Jun 2026
  • creditJaime Burgos

Introduced: 15 Jun 2026

NewCVE-2026-54267  (opens in a new tab)
CWE-471  (opens in a new tab)
CWE-79  (opens in a new tab)

How to fix?

Upgrade @angular/core to version 20.3.25, 21.2.17, 22.0.1 or higher.

Overview

@angular/core is a package that lets you write client-side web applications as if you had a smarter browser. It also lets you use HTML as your template language and lets you extend HTML’s syntax to express your application’s components clearly and succinctly.

Affected versions of this package are vulnerable to Modification of Assumed-Immutable Data via document.getElementById('ng-state'), during client-side SSR hydration, which enables DOM clobbering. An attacker can inject malicious JSON payloads into the application's TransferState cache by introducing a DOM element with a predictable identifier before the legitimate state script is parsed, causing forged API responses to be served to users and leading to the execution of arbitrary scripts, privilege escalation, or UI manipulation.

Workaround

This vulnerability can be mitigated by sanitizing or prefixing dynamic IDs to prevent user-controlled values from being used directly, or by configuring a unique, non-predictable application ID to change the state element's identifier.

CVSS Base Scores

version 4.0
version 3.1