chore(deps): update dependency @angular/ssr to v21.2.3 [security]#2282
Open
renovate[bot] wants to merge 1 commit intomasterfrom
Open
chore(deps): update dependency @angular/ssr to v21.2.3 [security]#2282renovate[bot] wants to merge 1 commit intomasterfrom
renovate[bot] wants to merge 1 commit intomasterfrom
Conversation
3a706c5 to
3e59032
Compare
5c8b40d to
21fc2e7
Compare
21fc2e7 to
85cba30
Compare
85cba30 to
acb4932
Compare
19d2e3f to
cb4d997
Compare
4ec8a82 to
9d1fa87
Compare
24d0959 to
fa2cf6d
Compare
9acef7c to
b902f96
Compare
b902f96 to
89d20ba
Compare
89d20ba to
9ae1e4e
Compare
9ae1e4e to
f67252f
Compare
f67252f to
b508f97
Compare
b508f97 to
8a5cd22
Compare
8a5cd22 to
e28086f
Compare
e28086f to
70842e6
Compare
70842e6 to
607f674
Compare
607f674 to
811309c
Compare
a9c17c5 to
7252dcb
Compare
7252dcb to
017156b
Compare
017156b to
c707f11
Compare
c707f11 to
a17503a
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.1.4→21.2.3GitHub 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
CVE-2026-33397
An Open Redirect vulnerability exists in
@angular/ssrdue to an incomplete fix for CVE-2026-27738. While the original fix successfully blocked multiple leading slashes (e.g.,///), the internal validation logic fails to account for a single backslash (\) bypass.When an Angular SSR application is deployed behind a proxy that passes the
X-Forwarded-Prefixheader:\evil.com).Locationheader containing/\evil.com./\sequence as//, treating it as a protocol-relative URL and redirecting the user to the attacker-controlled domain.Furthermore, the response lacks the
Vary: X-Forwarded-Prefixheader, allowing the malicious redirect to be stored in intermediate caches (Web Cache Poisoning).Impact
This vulnerability allows attackers to conduct large-scale phishing and SEO hijacking:
Patches
Workarounds
Until the patch is applied, developers should sanitize the
X-Forwarded-Prefixheader in theirserver.tsbefore the Angular engine processes the request:References
Release Notes
angular/angular-cli (@angular/ssr)
v21.2.3Compare Source
@angular/cli
@angular/build
@angular/ssr
v21.2.2Compare Source
@angular/cli
@angular/build
CHROME_BINfor vitest playwright providerv21.2.1Compare Source
@angular/cli
ng add@schematics/angular
@angular-devkit/build-angular
@angular/build
vi.mockfor non-relative importsng-package.jsonin unit-test builderng servewith i18n@angular/ssr
v21.2.0Compare Source
@angular/cli
semver.validand throw an error if invalid@schematics/angular
@angular/build
allowedHostsin dev-serverv21.1.5Compare Source
@angular/ssr
Configuration
📅 Schedule: Branch creation - "" in timezone Europe/London, Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ 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.