chore(deps): update dependency @angular/ssr to v21.1.5 [security]#420
Open
renovate[bot] wants to merge 1 commit intomainfrom
Open
chore(deps): update dependency @angular/ssr to v21.1.5 [security]#420renovate[bot] wants to merge 1 commit intomainfrom
renovate[bot] wants to merge 1 commit intomainfrom
Conversation
❌ Deploy Preview for angular-runtime-demo failed. Why did it fail? →
|
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.0→21.1.5GitHub Vulnerability Alerts
CVE-2026-27738
An Open Redirect vulnerability exists in the internal URL processing logic in Angular SSR. The logic normalizes URL segments by stripping leading slashes; however, it only removes a single leading slash.
When an Angular SSR application is deployed behind a proxy that passes the
X-Forwarded-Prefixheader, an attacker can provide a value starting with three slashes (e.g.,///evil.com).redirectToor i18n locale switch).///evil.comas the prefix.//evil.com.Locationheader.//as a protocol-relative URL, redirecting the user fromhttps://your-app.comtohttps://evil.com.Impact
This vulnerability allows attackers to conduct large-scale phishing and SEO hijacking:
Attack Preconditions
X-Forwarded-Prefixheader to the SSR process without sanitization.X-Forwarded-Prefixheader.Patches
Workarounds
Until the patch is applied, developers should sanitize the
X-Forwarded-Prefixheader in theirserver.tsbefore the Angular engine processes the request:Resources
CVE-2026-27739
A Server-Side Request Forgery (SSRF) vulnerability has been identified in the Angular SSR request handling pipeline. The vulnerability exists because Angular’s internal URL reconstruction logic directly trusts and consumes user-controlled HTTP headers specifically the Host and
X-Forwarded-*family to determine the application's base origin without any validation of the destination domain.Specifically, the framework didn't have checks for the following:
HostandX-Forwarded-Hostheaders were not checked to belong to a trusted origin. This allows an attacker to redefine the "base" of the application to an arbitrary external domain.X-Forwarded-Hostheader was not checked for path segments or special characters, allowing manipulation of the base path for all resolved relative URLs.X-Forwarded-Portheader was not verified as numeric, leading to malformed URI construction or injection attacks.This vulnerability manifests in two primary ways:
HttpClientresolves relative URLs against this unvalidated and potentially malformed base origin. An attacker can "steer" these requests to an external server or internal service.REQUESTobject to manually construct URLs (for fetch or third-party SDKs) directly inherit these unsanitized values. By accessing theHost/X-Forwarded-*headers, the application logic may perform requests to attacker-controlled destinations or malformed endpoints.Impact
When successfully exploited, this vulnerability allows for arbitrary internal request steering. This can lead to:
Authorizationheaders or session cookies by redirecting them to an attacker's server.169.254.169.254) not exposed to the public internet.Attack Preconditions
HttpClientrequests using relative URLs OR manually construct URLs using the unvalidatedHost/X-Forwarded-*headers using theREQUESTobject.Patches
Workarounds
req.headersfor URL construction. Instead, use trusted variables for your base API paths.server.tsto enforce numeric ports and validated hostnames.References
Release Notes
angular/angular-cli (@angular/ssr)
v21.1.5Compare Source
@angular/ssr
v21.1.4Compare Source
@angular/build
v21.1.3Compare Source
@schematics/angular
@angular-devkit/build-angular
v21.1.2Compare Source
@angular-devkit/schematics-cli
@angular-devkit/architect
@angular/build
v21.1.1Compare Source
@angular/cli
@schematics/angular
@angular/build
v21.1.0Compare Source
@angular/cli
ng addversion discovery@schematics/angular
refactor-jasmine-vitest@angular/build
ng servewith SSR (#31722)v21.0.6Compare Source
@angular/ssr
v21.0.5Compare Source
@angular/cli
@schematics/angular
@angular/build
v21.0.4Compare Source
@schematics/angular
inlineSourcesfrom library tsconfig template@angular/build
@angular/ssr
v21.0.3Compare Source
@angular-devkit/build-angular
@angular/build
v21.0.2Compare Source
@angular/cli
@modelcontextprotocol/sdkto v1.24.0@angular-devkit/schematics
@angular/build
reportsDirectoryoptionv21.0.1Compare Source
@angular/cli
@schematics/angular
esModuleInteropandmoduleResolutionwhen module ispreservejasmine.clock().mockDate()@angular/build
isTTYas a function--includepaths to posix@angular/ssr
X-Forwarded-PrefixandAPP_BASE_HREFin redirectsConfiguration
📅 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.