Quick answers
- Is CVE-2026-111754 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2026-111754 being exploited in the wild.
- How severe is CVE-2026-111754?
- Medium severity, with a CVSS score of 4, published 3 November 2026.
- Which products and versions are affected?
- Angular Platform-Server before 22.2.1, 21.x before 21.2.25, 20.x before 20.3.33; Angular Ssr affected versions align with platform-server; @angular/platform-server (npm) >= 22.0.0, < 22.2.1, SEMVER:introduced=22.0.0,fixed=22.2.1.
- Is there a fix for CVE-2026-111754?
- Yes. @angular/platform-server (npm): upgrade to 22.2.1 or later. Until then: Block requests containing `/.//`, `/..//`, or `/.;/` sequences at your reverse proxy or WAF (Nginx example provided). Alternatively, configure edge proxies to sanitize or disallow protocol-relative (`//`) Location response headers from the SSR upstream.</anigation> <parameter name="timeline">[ { "kind": "disclosed", "at": "2026-10-20" }, { "kind": "patched", "at": "2026-10-20", "note": "Versions 22.2.1, 21.2.25, 20.3.33 released" } ] Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2026-111754 attacked?
- It is attacked over the network, in a software library.
- Am I affected by CVE-2026-111754?
- Check whether you run Angular Platform-Server, Angular Ssr or @angular/platform-server (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- @angular/platform-server (npm): upgrade to 22.2.1 or later
npm install @angular/platform-server@22.2.1
Block requests containing `/.//`, `/..//`, or `/.;/` sequences at your reverse proxy or WAF (Nginx example provided). Alternatively, configure edge proxies to sanitize or disallow protocol-relative (`//`) Location response headers from the SSR upstream.</anigation> <parameter name="timeline">[ { "kind": "disclosed", "at": "2026-10-20" }, { "kind": "patched", "at": "2026-10-20", "note": "Versions 22.2.1, 21.2.25, 20.3.33 released" } ]
Technical details
The vulnerability exists in `ServerPlatformLocation.resolveUrl()` (or `parseUrl()` in v20), which performs a protocol-relative URL check before WHATWG URL normalization. Attackers bypass the initial `startsWith('//')` check by using dot-segments followed by slashes (e.g., `/.//evil.test`), which normalize to a pathname starting with `//` after WHATWG parsing. The SSR layer then emits the unnormalized pathname into the HTTP Location header, causing a protocol-relative redirect. Attack requires SSR enabled, parameter routes with child segments, and upstream reverse proxies that pass semicolons and dot-segments without normalization.
Affected products
- Angular platform-server before 22.2.1, 21.x before 21.2.25, 20.x before 20.3.33
- Angular ssr affected versions align with platform-server
Identifiers
- CVE-2026-111754
- GHSA-w739-gvwx-grc3