fix(deps): update dependency @angular/common to v22 [security] - #105
Open
renovate[bot] wants to merge 1 commit into
Open
fix(deps): update dependency @angular/common to v22 [security]#105renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
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.2.19→22.0.2Angular: Cache-Key Ambiguity in HttpTransferCache Leading to Cross-Request Response Reuse and State Poisoning
CVE-2026-68945 / GHSA-jhpw-976m-542j
More information
Details
Angular's
HttpTransferCachecaches HTTP requests made during Server-Side Rendering (SSR) so that they can be reused during client-side hydration.During SSR,
HttpTransferCachepreviously generated identical key material for distinct request parameters when repeated values were present because repeated values were joined with commas:Both requests previously serialized as
role=user,admin, allowing distinctHttpClientrequests to produce the same transfer-cache key material.Impact
In an SSR application, this cache-key ambiguity can make a later security-sensitive
HttpClientrequest receive the response from an earlier semantically different request in the same render. For example, an attacker-influenced scalar-comma request can be cached and then replayed as the response for a trusted repeated-param authorization or data request to the same URL. As a result, Angular's server-rendered output can be based on the wrong backend response because the trusted request is not dispatched. This can lead to:Patched Versions
Workarounds
If you cannot upgrade immediately, configure your
HttpClientrequests to skip transfer caching for sensitive endpoints where repeated parameter keys are used:Alternatively, disable the HTTP transfer cache globally in your application bootstrap config:
Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
angular/angular (@angular/common)
v22.0.2Compare Source
common
compiler
core
http
migrations
v22.0.1Compare Source
Deprecations
platform-server
@angular/platform-serveris deprecated. Use standardfetchAPIs instead.(cherry picked from commit
8446e46)common
compiler
href/xlink:hrefattributes of any element of the MathML namespacecompiler-cli
core
forms
tickadditionalProperties: falseon generated WebMCP formhttp
reportUploadProgressandreportDownloadProgresson post/patch requestslanguage-service
platform-server
router
service-worker
v22.0.0Compare Source
Blog post "Announcing Angular v22".
Breaking Changes
compiler
nullishCoalescingNotNullableandoptionalChainNotNullablediagnostics on exisiting projects.You might want to disable those 2 diagnotiscs in your
tsconfigtemporarily.invariables will throw in template expressions.compiler-cli
core
anyanymore. Make sure the element you pass is not nullable.changeDetectionproperty are nowOnPushby default. SpecifychangeDetection: ChangeDetectionStrategy.Eagerto keep the previous behavior.ChangeDetectorRef.checkNoChangeswas removed. In tests usefixture.detectChanges()instead.createNgModuleRefwas removed, usecreateNgModuleinsteadComponentFactoryResolverandComponentFactoryare no longer available. Pass the component class directly to APIs that previously required a factory, such asViewContainerRef.createComponentor use the standalonecreateComponentFunction.ComponentFactoryResolverandComponentFactoryare no longer available. Pass the component class directly to APIs that previously required a factory, such asViewContainerRef.createComponentor use the standalonecreateComponentfunction.forms
minandmaxvalidation rules no longer supportstring values. Bound values must be numbers or null.
http
HttpXhrBackendwithprovideHttpClient(withXhr)if you want to keep supporting upload progress reports.platform-browser
host. However other DOM on the page may still be affected by those styles if not leveragingViewEncapsulation.Emulatedor if those styles are used by elements outside of Angular, potentially causing other DOM to appear unstyled.router
The return type for
TitleStrategy.getResolvedTitleForRoutewas previously 'any' while the actual return type could only be either
stringor
undefined. The return type now reflects the possible values correctly.Code that reads the value may need to be adjusted.
(cherry picked from commit
ad37f52)The
currentSnapshotparameter inCanMatchFnand thecanMatchmethod of theCanMatchinterface is now required. While this was already the behavior of the Router at runtime, existing class implementations ofCanMatchmust now include the third argument to satisfy the interface.paramsInheritanceStrategy now defaults to 'always'
The default value of paramsInheritanceStrategy has been changed from 'emptyOnly' to 'always'. This means that route parameters are inherited from all parent routes by default. To restore the previous behavior, set paramsInheritanceStrategy to 'emptyOnly' in your router configuration.
provideRoutes()has been removed. UseprovideRouter()orROUTESas multi token if necessary.upgrade
getAngularLib/setAngularLibhave been removed usegetAngularJSGlobal/setAngularJSGlobalinstead.Deprecations
http
withFetchis now deprecated, it can be safely removed.reportProgressoption is deprecated please usereportUploadProgress&reportDownloadProgressinstead.compiler
undefineddata-attributescompiler-cli
core
IdleRequestOptionssupport toIdleServiceprovideWebMcpToolsinjectAsynchelper functionprovideHttpClientto keep using theHttpXhrBackendimplementation.ChangeDetectionStrategy.Eagerwhere applicableApplicationRefwith configdeclareWebMcpToolsupport@ServicedecoratorcheckNoChangesfrom the public API.createNgModuleRefforms
reloadValidationto Signal Forms to manually trigger async validationto`FormRootto be used without submission options (#67727)SignalFormsConfigto a readonly APItouchedmodel into an input andtouchoutputsetValuein reactive formshttp
FetchBackendas default for theHttpBackendimplementationhttpResourcefrom leaking a subscriptionreportUploadProgress&reportDownloadProgressoptionslanguage-service
@Inputwith transformsmigrations
platform-browser
hostis droppedrouter
| Commit | Type | Description |
| ---------
Configuration
📅 Schedule: (UTC)
🚦 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.