CVE-2026-33397

| EUVD-2026-13897 MEDIUM
2026-03-19 https://github.com/angular/angular-cli GHSA-fxxv-5hv8-hp3c GHSA-vfx2-hv2g-xj5f
6.9
CVSS 4.0
Share

CVSS Vector

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
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

4
Analysis Generated
Mar 19, 2026 - 22:00 vuln.today
EUVD ID Assigned
Mar 19, 2026 - 22:00 euvd
EUVD-2026-13897
Patch Released
Mar 19, 2026 - 22:00 nvd
Patch available
CVE Published
Mar 19, 2026 - 21:22 nvd
MEDIUM 6.9

Description

An Open Redirect vulnerability exists 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 (e.g., `\evil.com`). - The internal validation failed to flag the single backslash as invalid. - The application prepends a leading forward slash, resulting in a `Location` header containing `/\evil.com`. - 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). ### Impact This vulnerability allows attackers to conduct large-scale phishing and SEO hijacking: - **Scale**: A single request can poison a high-traffic route, impacting all users until the cache expires. - **SEO Poisoning**: Search engine crawlers may follow and index these malicious redirects, causing the legitimate site to be delisted or associated with malicious domains. - **Trust**: Because the initial URL belongs to the trusted domain, users and security tools are less likely to flag the redirect as malicious. ### Patches - 22.0.0-next.2 - 21.2.3 - 20.3.21 ### Workarounds Until the patch is applied, developers should sanitize the `X-Forwarded-Prefix` header in their `server.ts` before the Angular engine processes the request: ```ts app.use((req, res, next) => { const prefix = req.headers['x-forwarded-prefix']; if (typeof prefix === 'string') { // Sanitize by removing all leading forward and backward slashes req.headers['x-forwarded-prefix'] = prefix.trim().replace(/^[/\\]+/, '/'); } next(); }); ``` ### References - Fix: https://github.com/angular/angular-cli/pull/32771 - Original CVE: CVE-2026-27738

Analysis

Open Redirect in Angular SSR allows remote attackers to bypass redirect validation through a single backslash character in the X-Forwarded-Prefix header, causing browsers to interpret the malformed URL as a protocol-relative redirect to attacker-controlled domains. This vulnerability affects Angular SSR applications deployed behind proxies and represents an incomplete fix for a prior open redirect issue. …

Sign in for full analysis, threat intelligence, and remediation guidance.

Remediation

Within 30 days: Identify affected systems and apply vendor patches as part of regular patch cycle. Vendor patch is available.

Sign in for detailed remediation steps.

Priority Score

40
Low Medium High Critical
KEV: 0
EPSS: +5.0
CVSS: +34
POC: 0

Share

CVE-2026-33397 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy