CVE-2026-27738
Angular SSR has an Open Redirect via X-Forwarded-Prefix
Reported by github_m · Published February 25, 2026
@angular/ssr is fixed in 21.2.0-rc.1, 21.1.5, 20.3.17 and 1 more (npm)
The Angular SSR is a server-rise rendering tool for Angular applications. An Open Redirect vulnerability exists in the internal URL processing logic in versions on the 19.x branch prior to 19.2.21, the 20.x branch prior to 20.3.17, and the 21.x branch prior to 21.1.5 and 21.2.0-rc.1. 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-Prefix` header, an attacker can provide a value starting with three slashes. This vulnerability allows attackers to conduct large-scale phishing and SEO hijacking. In order to be vulnerable, the application must use Angular SSR, the application must have routes that perform internal redirects, the infrastructure (Reverse Proxy/CDN) must pass the `X-Forwarded-Prefix` header to the SSR process without sanitization, and the cache must not vary on the `X-Forwarded-Prefix` header. Versions 21.2.0-rc.1, 21.1.5, 20.3.17, and 19.2.21 contain a patch. Until the patch is applied, developers should sanitize the `X-Forwarded-Prefix` header in their`server.ts` before the Angular engine processes the request.
Fixed versions
Upgrade to a fixed version or later. Language registries are listed first, then Linux distributions, then vendor products.
| Package | Ecosystem | Fixed in |
|---|---|---|
| @angular/ssr | npm | 21.2.0-rc.1, 21.1.5, 20.3.17, 19.2.21 |
Risk scores
Affected products
| Vendor | Product | Versions |
|---|---|---|
| angular | angular-cli | >= 21.2.0-next.2, < 21.2.0-rc.0, >= 21.0.0-next.0, < 21.1.5, >= 20.0.0-next.0, < 20.3.17 |
| angular | ssr | 21.2.0-next.0, 21.0.0-next.0, 20.0.0-next.0 |
| angular | angular-cli | 21.2.0-next.2, 21.0.0-next.0, 20.0.0-next.0 |
Timeline
- Feb 25, 2026 CVE Published
- Feb 26, 2026 EPSS Score (30 in total, the first dated here)
- Feb 26, 2026 PoC Published (2 in total, the first dated here)
- Feb 27, 2026 CVE Updated
- Mar 9, 2026 Security Advisory
- Mar 17, 2026 Coalition ESS Score (2 in total, the first dated here)
Query this with the API
The same record, from the CLI:
vulnetix vdb vuln CVE-2026-27738
vulnetix vdb fixes CVE-2026-27738
Or with curl, using the org id and key from your account page:
curl -s -H "Authorization: ApiKey ${VULNETIX_ORG_ID}:${VULNETIX_API_KEY}" \
"https://api.vdb.vulnetix.com/v2/vuln/CVE-2026-27738/fixes/registry"
The Community plan is free and allows 50 queries a day. Get a free API key · API quickstart
References
- https://github.com/angular/angular-cli/security/advisories/GHSA-xh43-g2fq-wjrj x_refsource_CONFIRM
- https://github.com/angular/angular-cli/issues/32501 x_refsource_MISC
- https://github.com/angular/angular-cli/pull/32521 x_refsource_MISC
- https://github.com/angular/angular-cli/commit/877f017ace4b83277d773aa37f5813e5e9faec7e x_refsource_MISC
- https://nvd.nist.gov/vuln/detail/CVE-2026-27738 advisory
- https://github.com/advisories/GHSA-xh43-g2fq-wjrj advisory
- https://github.com/angular/angular-cli/commit/f086eccc36d10cf01c426e35864bc32e1e292323 patch
- https://github.com/angular/angular-cli url