fix(deps): update dependency @angular/compiler to v21.2.4 [security]#3377
Open
renovate[bot] wants to merge 1 commit intomasterfrom
Open
fix(deps): update dependency @angular/compiler to v21.2.4 [security]#3377renovate[bot] wants to merge 1 commit intomasterfrom
renovate[bot] wants to merge 1 commit intomasterfrom
Conversation
Contributor
Author
|
b522550 to
625e374
Compare
625e374 to
5d5fb1f
Compare
5a690c4 to
fbd261e
Compare
fbd261e to
3efa16f
Compare
3efa16f to
97af841
Compare
97af841 to
532564b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
21.0.5→21.2.4GitHub Vulnerability Alerts
CVE-2026-22610
A Cross-Site Scripting (XSS) vulnerability has been identified in the Angular Template Compiler. The vulnerability exists because Angular’s internal sanitization schema fails to recognize the
hrefandxlink:hrefattributes of SVG<script>elements as a Resource URL context.In a standard security model, attributes that can load and execute code (like a script's source) should be strictly validated. However, because the compiler does not classify these specific SVG attributes correctly, it allows attackers to bypass Angular's built-in security protections.
When template binding is used to assign user-controlled data to these attributes for example,
<script [attr.href]="userInput">the compiler treats the value as a standard string or a non-sensitive URL rather than a resource link. This enables an attacker to provide a malicious payload, such as adata:text/javascriptURI or a link to an external malicious script.Impact
When successfully exploited, this vulnerability allows for arbitrary JavaScript execution within the context of the victim's browser session. This can lead to:
Attack Preconditions
<script>elements within its templates.hreforxlink:hrefattributes of those SVG scripts.Patches
Workarounds
Until the patch is applied, developers should:
[attr.href]) for SVG<script>elements.Resources
CVE-2026-32635
A Cross-Site Scripting (XSS) vulnerability has been identified in the Angular runtime and compiler. It occurs when the application uses a security-sensitive attribute (for example href on an anchor tag) together with Angular's ability to internationalize attributes. Enabling internationalization for the sensitive attribute by adding
i18n-<attribute>name bypasses Angular's built-in sanitization mechanism, which when combined with a data binding to untrusted user-generated data can allow an attacker to inject a malicious script.The following example illustrates the issue:
The following attributes have been confirmed to be vulnerable:
actionbackgroundcitecodebasedataformactionhrefitemtypelongdescpostersrcxlink:hrefImpact
When exploited, this vulnerability allows an attacker to execute arbitrary code within the context of the vulnerable application's domain. This enables:
Attack Preconditions
i18n-<name>attribute on the same element.Patches
Workarounds
The primary workaround is to ensure that any data bound to the vulnerable attributes is never sourced from untrusted user input (e.g., database, API response, URL parameters) until the patch is applied, or when it is, it shouldn't be marked for internationalization.
Alternatively, users can explicitly sanitize their attributes by passing them through Angular's
DomSanitizer:References
Release Notes
angular/angular (@angular/compiler)
v21.2.4Compare Source
compiler
core
v21.2.3Compare Source
core
toString()representationv21.2.2Compare Source
compiler
compiler-cli
forms
v21.2.1Compare Source
core
http
v21.2.0Compare Source
common
compiler
instanceofbinary operatorAstVisitor.visitEmptyExpr()compiler-cli
core
forms
language-server
onDidChangeWatchedFileslanguage-service
router
canMatchparamsIsActiveMatchOptionsAPIs to accept a Partialv21.1.6Compare Source
Breaking Changes
core
Angular now only applies known attributes from HTML in translated ICU content. Unknown attributes are dropped and not rendered.
(cherry picked from commit
306f367)common
compiler-cli
core
v21.1.5Compare Source
No user facing changes in this release
v21.1.4Compare Source
compiler
core
forms
http
v21.1.3Compare Source
core
linkedSignal.updateshould propagate errorsforms
localize
router
v21.1.2Compare Source
forms
language-service
router
v21.1.1Compare Source
compiler-cli
core
forms
v21.1.0Compare Source
Deprecations
upgrade
VERSIONfrom@angular/upgradeis deprecated. Please use the entry from@angular/upgrade/staticinstead.common
compiler
core
StaticProviderforprovidePlatformInitializerforms
platform-browser
contexttocreateApplicationcreateApplicationrouter
upgrade
VERSIONexportv21.0.9Compare Source
forms
migrations
v21.0.8Compare Source
core
v21.0.7Compare Source
compiler
compiler-cli
importsexpressiontypeoftype referencescore
forms
[formField]directivedirtyinputhiddeninputpendinginputrouter
queryParamsHandlingupdateCallbackDonepromisev21.0.6Compare Source
Breaking Changes (affecting only experimental features)
forms
The shape of
SignalFormsConfig.classeshas changedPreviously each function in the
classesmap took aFieldState. Nowit takes a
Fielddirective.For example if you previously had:
You would need to update to:
(cherry picked from commit
348f149)(cherry picked from commit
ae0c590)core
forms
language-service
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.