CVE-2026-27738 json
Angular SSR has an Open Redirect via X-Forwarded-Prefix
published 2026-02-25 8 mo ago modified 2026-06-17 4 mo ago also EUVD-2026-8687 , GHSA-xh43-g2fq-wjrj
- cvss
- 6.9
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 28%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- npm @angular/ssr 19.2.21, 20.3.17, 21.1.5, 21.2.0-rc.1
- angular angular_cli 19.2.21, 20.3.17, 21.1.5, 21.2.0-rc.0
- github.com/angular/angular-cli@877f017 commit
- github.com/angular/angular-cli@f086ecc commit
- github.com/angular/angular-cli#32521 pull request
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 8 mo ago
Exploit prediction
0.35% chance of exploitation in the next 30 days, higher than 28% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/angular/angular-cli/issues/32501 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 6.9 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N |
| CNA | 4.0 | 6.9 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | @angular/ssr | >=21.2.0-next.0, <21.2.0-rc.1 >=21.0.0-next.0, <21.1.5 >=20.0.0-next.0, <20.3.17 >=19.0.0-next.0, <19.2.21 |
21.2.0-rc.1 21.1.5 20.3.17 19.2.21 |
Affected products
- angular angular-cli
Classification
- Weakness
-
- CWE-601 URL Redirection to Untrusted Site
References
-
github.com
/angular/angular-cli/pull/32521
web
- github.com /angular/angular-cli/commit/877f017ace4b83277d773aa37f5813e5e9faec7e
-
github.com
/angular/angular-cli/commit/f086eccc36d10cf01c426e35864bc32e1e292323
web
-
github.com
/angular/angular-cli/issues/32501
exploit, web
-
github.com
/angular/angular-cli/security/advisories/GHSA-xh43-g2fq-wjrj
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-27738
advisory
-
github.com
/angular/angular-cli
package
Sources
- CVE List CVE-2026-27738
- GitHub Advisory GHSA-xh43-g2fq-wjrj
- NVD CVE-2026-27738
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.