fix(deps): update dependency @angular/core to v19 [security]#803
Open
renovate[bot] wants to merge 1 commit into
Open
fix(deps): update dependency @angular/core to v19 [security]#803renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
Contributor
Author
|
2da62ce to
ce493d6
Compare
ce493d6 to
697f9de
Compare
697f9de to
1bbd004
Compare
1bbd004 to
645c0b1
Compare
645c0b1 to
5ca461a
Compare
5ca461a to
1bfa268
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:
~18.2.0→~19.0.0Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Angular vulnerable to XSS in i18n attribute bindings
CVE-2026-32635 / GHSA-g93w-mfhg-p222
More information
Details
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
Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Angular has XSS Vulnerability via Unsanitized SVG Script Attributes
CVE-2026-22610 / GHSA-jrmj-c5cx-3cw6
More information
Details
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
Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Angular i18n vulnerable to Cross-Site Scripting
CVE-2026-27970 / GHSA-prjf-86w9-mfqv
More information
Details
A Cross-site Scripting (XSS) vulnerability has been identified in the Angular internationalization (i18n) pipeline. In ICU messages (International Components for Unicode), HTML from translated content was not properly sanitized and could execute arbitrary JavaScript.
Angular i18n typically involves three steps, extracting all messages from an application in the source language, sending the messages to be translated, and then merging their translations back into the final source code. Translations are frequently handled by contracts with specific partner companies, and involve sending the source messages to a separate contractor before receiving final translations for display to the end user.
If the returned translations have malicious content, it could be rendered into the application and execute arbitrary JavaScript.
Impact
When successfully exploited, this vulnerability allows for execution of attacker controlled JavaScript in the application origin. Depending on the nature of the application being exploited this could lead to:
Attach Preconditions
Patches
Workarounds
Until the patch is applied, developers should consider:
References
Severity
CVSS:4.0/AV:L/AC:L/AT:N/PR:H/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Release Notes
angular/angular (@angular/core)
v19.0.0Compare Source
Blog post: https://blog.angular.dev/meet-angular-v19-7b29dfd05b84
Breaking Changes
compiler
this.fooproperty reads no longer refer to template context variables. If you intended to read the template variable, do not usethis..:where()and:is(),parsing of
:hostandhost-context, parsing selectors within pseudo selector arguments (for instance comma separated selectors).These changes could lead to a different specificity of the resulting selectors and/or previously broken selectors being applied now,
for example
:where(:host)used to transform to:where()[ng-host]and is being:where([ng-host])now. Unlike the previous outcome,the new result can target elements and therefore could lead to breakages.
core
Angular directives, components and pipes are now standalone by default.
standalone: falsefor declarations that are currently declared in@NgModules.ng updatefor v19 will take care of this automatically.TypeScript versions less than 5.5 are no longer supported.
Timing changes for
effectAPI (in developer preview):effects which are triggered outside of change detection run as part of
the change detection process instead of as a microtask. Depending on the
specifics of application/test setup, this can result in them executing
earlier or later (or requiring additional test steps to trigger; see below
examples).
effects which are triggered during change detection (e.g. by input
signals) run earlier, before the component's template.
ExperimentalPendingTaskshas been renamed toPendingTasks.The
autoDetectfeature ofComponentFixturewill nowattach the fixture to the
ApplicationRef. As a result, errors duringautomatic change detection of the fixture be reported to the
ErrorHandler.This change may cause custom error handlers to observe new failures that were previously unreported.
createComponentwill now render default fallback with emptyprojectableNodes.projectableNodesin thecreateComponentAPI, the default fallback contentof the
ng-contentwill be rendered if present. To prevent rendering the default content, passdocument.createTextNode('')as aprojectableNode.Errors that are thrown during
ApplicationRef.tickwill now be rethrown when using
TestBed. These errors should beresolved by ensuring the test environment is set up correctly to
complete change detection successfully. There are two alternatives to
catch the errors:
it synchronously and expect the error. For example, a jasmine test
could write
expect(() => TestBed.inject(ApplicationRef).tick()).toThrow()TestBedwill reject any outstandingComponentFixture.whenStablepromises. A jasmine test,for example, could write
expectAsync(fixture.whenStable()).toBeRejected().As a last resort, you can configure errors to not be rethrown by
setting
rethrowApplicationErrorstofalseinTestBed.configureTestingModule.The timers that are used for zone coalescing and hybrid
mode scheduling (which schedules an application state synchronization
when changes happen outside the Angular zone) will now run in the zone
above Angular rather than the root zone. This will mostly affect tests
which use
fakeAsync: these timers will now be visible tofakeAsyncand can be affected by
tickorflush.The deprecated
factoriesproperty inKeyValueDiffershas been removed.elements
hybrid scheduler, timing of change detection around custom elements has
changed subtly. These changes make elements more efficient, but can cause
tests which encoded assumptions about how or when elements would be checked
to require updating.
localize
nameoption in theng add@localize`` schematic has been removed in favor of theprojectoption.platform-browser
BrowserModule.withServerTransitionmethod has been removed. Please use theAPP_IDDI token to set the application id instead.router
Router.errorHandlerproperty has been removed.Adding an error handler should be configured in either
withNavigationErrorHandlerwithprovideRouteror theerrorHandlerproperty in the extra options of
RouterModule.forRoot. In addition,the error handler cannot be used to change the return value of the
router navigation promise or prevent it from rejecting. Instead, if you
want to prevent the promise from rejecting, use
resolveNavigationPromiseOnError.Resolveinterface now includesRedirectCommand.common
compiler
typeofkeyword in template expressions. (#58183)this.ashould always refer to class propertya(#55183):hostparsing in pseudo-selectors (#58681):host:host-context(.foo)(#58681)compiler-cli
core
standalone: false. (#57643)runmethod onExperimentalPendingTasks(#56546)undefinedwithout needing to include it in the type argument ofinput(#57621)allowSignalWrites(#57874)resource()API for async dependencies (#58255)rxResource()(#58255)standalonetotrue(#58169)afterRenderEffect(#57549)outputFromObservable&outputToObservableto stable. (#58214)takeUntilDestroyedto stable. (#58200)@letsyntax (#57813)ViewContextis retained after closure minification (#57903)Nonefor empty component styles (#57130)factoriesProperty inKeyValueDiffers(#58064)elements
output()-shaped outputs (#57535)ComponentRef.setInput& remove custom scheduler (#56728)forms
http
withRequestsMadeViaParentto stable. (#58221)language-service
@Inputto signal-input (#57214)localize
nameoption. (#58063)migrations
ng generateschematic (#57805)platform-browser
BrowserModule.withServerTransitionmethod (#58062)platform-server
PlatformRefwhen error happens during thebootstrap()phase (#58112)router
routerOutletDatainput toRouterOutletdirective (#57051)injectoronOutletContext(#58343)service-worker
v18.2.14Compare Source
Breaking Changes
core
The server-side bootstrapping process has been changed to eliminate the reliance on a global platform injector.
Before:
After:
A schematic is provided to automatically update
main.server.tsfiles to pass theBootstrapContextto thebootstrapApplicationcall.In addition,
getPlatform()anddestroyPlatform()will now returnnulland be a no-op respectively when running in a server environment.(cherry picked from commit
8bf80c9)core
BootstrapContextfor improved server bootstrapping (#63640)v18.2.13Compare Source
migrations
v18.2.12Compare Source
compiler-cli
v18.2.11Compare Source
core
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, 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.