Vulnerability · Published Nov 3, 2026 · Assigned by GitHub_M
CVE-2026-111754Angular: Open Redirect via Protocol-Relative URLs in Server-Side Rendering (SSR)
Medium 5.1
In plain English
A medium-severity open redirect in angular from angular. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 1.0% (higher than 62% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 20.3.33, 21.2.25, and 22.2.1, ServerPlatformLocation in Angular server-side rendering checks for protocol-relative URLs before WHATWG URL normalization. A request path containing a popping dot segment followed by multiple slashes can bypass the raw resolveUrl check and normalize to a pathname beginning with two slashes. When Angular SSR detects a mismatch with the router's final location, it can place that pathname in an HTTP Location header, causing a browser to navigate to an attacker-controlled origin. Affected applications use @angular/platform-server and @angular/ssr and either expose compatible parameter or child route shapes or pass user-controlled navigation targets through infrastructure that preserves the relevant dot segments or semicolons. Pure client-side SPAs are not affected. This issue is fixed in versions 20.3.33, 21.2.25, and 22.2.1.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| npm | @angular/platform-server | 22.2.1 | GHSA-w739-gvwx-grc3 |
| npm | @angular/platform-server | 21.2.25 | GHSA-w739-gvwx-grc3 |
| npm | @angular/platform-server | 20.3.33 | GHSA-w739-gvwx-grc3 |
| npm | @angular/platform-server | no fix listed | GHSA-w739-gvwx-grc3 |
Affected products (as reported)
Weakness: CWE-601 · Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
References
- https://github.com/angular/angular/security/advisories/GHSA-w739-gvwx-grc3 x_refsource_CONFIRM
- https://github.com/angular/angular/issues/71076 x_refsource_MISC
- https://github.com/angular/angular/pull/71077 x_refsource_MISC
- https://github.com/angular/angular/pull/71078 x_refsource_MISC
- https://github.com/angular/angular/pull/71079 x_refsource_MISC
- https://github.com/angular/angular/commit/450af9c813c7660b9bd91e5635f705ee3ed7b32a x_refsource_MISC
- https://github.com/angular/angular/commit/83944fc8c50e86be90e8ec4184cd15002b5af262 x_refsource_MISC
- https://github.com/angular/angular/commit/928dcfd2582152655b5559509d057bf6a5a19521 x_refsource_MISC
- https://github.com/angular/angular/releases/tag/v20.3.33 x_refsource_MISC
- https://github.com/angular/angular/releases/tag/v21.2.25 x_refsource_MISC
- https://github.com/angular/angular/releases/tag/v22.2.1 x_refsource_MISC