CVE-2026-111754: @angular/platform-server: Open Redirect via Protocol-Relative URLs in Server-Side Rendering (SSR)
An open redirect vulnerability was identified in @angular/platform-server when Server-Side Rendering (SSR) is enabled.
When Angular SSR renders an incoming request, URL resolution and platform navigation are managed by ServerPlatformLocation using resolveUrl (or parseUrl in v20). While resolveUrl rejected protocol-relative URLs whose raw string directly started with //, this check ran prior to WHATWG URL normalization.
When a request URL includes a popping dot-segment followed by multiple slashes (such as /.//evil.test or serialized from router route shapes like /.;/(//evil.test)), the input bypassed the initial urlStr.startsWith('//') check. Subsequent WHATWG URL parsing resolved the dot-segments and resulted in a pathname starting with // (//evil.test).
Consequently, ServerPlatformLocation stored pathname = '//evil.test'. When @angular/ssr detected a mismatch between the rendered URL and the router’s final location state, it emitted the unnormalized pathname into the HTTP Location response header, producing an HTTP 302 redirect with Location: //evil.test, which browsers resolve as a protocol-relative navigation off-origin.
References
- github.com/advisories/GHSA-w739-gvwx-grc3
- github.com/angular/angular/commit/450af9c813c7660b9bd91e5635f705ee3ed7b32a
- github.com/angular/angular/commit/83944fc8c50e86be90e8ec4184cd15002b5af262
- github.com/angular/angular/commit/928dcfd2582152655b5559509d057bf6a5a19521
- github.com/angular/angular/commit/d7d81e189d227108c3b9d39178dbb7389f6f970d
- github.com/angular/angular/pull/71077
- github.com/angular/angular/pull/71078
- github.com/angular/angular/pull/71079
- github.com/angular/angular/releases/tag/v20.3.33
- github.com/angular/angular/releases/tag/v21.2.25
- github.com/angular/angular/releases/tag/v22.2.1
- github.com/angular/angular/security/advisories/GHSA-w739-gvwx-grc3
- nvd.nist.gov/vuln/detail/CVE-2026-111754
Code Behaviors & Features
Detect and mitigate CVE-2026-111754 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →