Angular SSR Vulnerable to Protocol-Relative URL Injection via Single Backslash Bypass
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Spoofing
- Confidentiality · integrity · availability
- None · None · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-601.
Summary
The Angular SSR is a server-rise rendering tool for Angular applications. Versions on the 22.x branch prior to 22.0.0-next.2, the 21.x branch prior to 21.2.3, and the 20.x branch prior to 20.3.21 have an Open Redirect vulnerability in `@angular/ssr` due to an incomplete fix for CVE-2026-27738. While the original fix successfully blocked multiple leading slashes (e.g., `///`), the internal validation logic fails to account for a single backslash (`\`) bypass. When an Angular SSR application is deployed behind a proxy that passes the `X-Forwarded-Prefix` header, an attacker provides a value starting with a single backslash, the internal validation failed to flag the single backslash as invalid, the application prepends a leading forward slash, resulting in a `Location` header containing the URL, and modern browsers interpret the `/\` sequence as `//`, treating it as a protocol-relative URL and redirecting the user to the attacker-controlled domain. Furthermore, the response lacks the `Vary: X-Forwarded-Prefix` header, allowing the malicious redirect to be stored in intermediate caches (Web Cache Poisoning). Versions 22.0.0-next.2, 21.2.3, and 20.3.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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| angular | angular-cli | 22.0.0-next.0 to before 22.0.0-next.2; 21.0.0-next.0 to before 21.2.3; 20.0.0-next.0 to before 20.3.21 | 22.0.0-next.2, 21.2.3, 20.3.21 | Patch available | CNA |
| — | @angular/ssr (npm) | 22.0.0-next.0 to before 22.0.0-next.2 | 22.0.0-next.2 | Patch available | GHSA-vfx2-hv2g-xj5f |
| — | @angular/ssr (npm) | 21.0.0-next.0 to before 21.2.3 | 21.2.3 | Patch available | GHSA-vfx2-hv2g-xj5f |
| — | @angular/ssr (npm) | 20.0.0-next.0 to before 20.3.21 | 20.3.21 | Patch available | GHSA-vfx2-hv2g-xj5f |
- angular-cli Vendorangular Affected 22.0.0-next.0 to before 22.0.0-next.2; 21.0.0-next.0 to before 21.2.3; 20.0.0-next.0 to before 20.3.21 Fixed in 22.0.0-next.2, 21.2.3, 20.3.21 Patch available CNA
- @angular/ssr (npm) Vendor— Affected 22.0.0-next.0 to before 22.0.0-next.2 Fixed in 22.0.0-next.2 Patch available GHSA-vfx2-hv2g-xj5f
- @angular/ssr (npm) Vendor— Affected 21.0.0-next.0 to before 21.2.3 Fixed in 21.2.3 Patch available GHSA-vfx2-hv2g-xj5f
- @angular/ssr (npm) Vendor— Affected 20.0.0-next.0 to before 20.3.21 Fixed in 20.3.21 Patch available GHSA-vfx2-hv2g-xj5f
CPE configurations NVD · 3
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:angular:angular_cli:*:-:*:*:*:node.js:*:* | 20.0.0 to before 20.3.21; 21.0.0 to before 21.2.3 | Vulnerable | angular |
| cpe:2.3:a:angular:angular_cli:22.0.0:next0:*:*:*:node.js:*:* | 22.0.0 next0 | Vulnerable | angular |
| cpe:2.3:a:angular:angular_cli:22.0.0:next1:*:*:*:node.js:*:* | 22.0.0 next1 | Vulnerable | angular |
- cpe:2.3:a:angular:angular_cli:*:-:*:*:*:node.js:*:* Versions 20.0.0 to before 20.3.21; 21.0.0 to before 21.2.3 Vulnerable ·angular
- cpe:2.3:a:angular:angular_cli:22.0.0:next0:*:*:*:node.js:*:* Versions 22.0.0 next0 Vulnerable ·angular
- cpe:2.3:a:angular:angular_cli:22.0.0:next1:*:*:*:node.js:*:* Versions 22.0.0 next1 Vulnerable ·angular
Remediation
- Fix · CNA angular-cli (angular) Fixed in 22.0.0-next.2, 21.2.3, 20.3.21
- Fix · GHSA-vfx2-hv2g-xj5f @angular/ssr (npm) Fixed in 22.0.0-next.2 Advisory →
- Fix · GHSA-vfx2-hv2g-xj5f @angular/ssr (npm) Fixed in 21.2.3 Advisory →
- Fix · GHSA-vfx2-hv2g-xj5f @angular/ssr (npm) Fixed in 20.3.21 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-33397
- 2026-10-03 Alias added: GHSA-vfx2-hv2g-xj5f
References
More Angular Cli vulnerabilities
- TI-2026-25144 Angular has XSS in i18n attribute bindings CVSS 4.0HIGH 8.6
- TI-2026-32378 Angular SSR: Open Redirect and Request Steering via Encoded X-Forwarded-Prefix CVSS 4.0MEDIUM 6.9
Sources
- CVE-2026-33397 · CVE Program
- CVE-2026-33397 · NVD
- FIRST EPSS
- GHSA-vfx2-hv2g-xj5f · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences