Loading...
Skip to main content

CVE-2026-50168 — Vulnerability in @angular/platform-server — CVE...

HIGH

@angular/platform-server: URL Parser Differential leading to SSRF Allowlist Bypass

Published June 15, 2026Updated July 15, 2026Source: osv

Summary

An issue in the `@angular/platform-server` package allows remote attackers to bypass host allowlist constraints and direct server-side outgoing requests to arbitrary external endpoints. This occurs due to a parser differential between the strict WHATWG URL parser used for allowlist validation and the lenient Domino URL parser used to initialize the server emulated DOM. When a server-side request contains a malformed URL with a double port structure (e.g., `http://evil.com:80:80/path`), Node's strict `URL.canParse(url)` logic returns `false` and skips host check validation entirely. However, the same malformed URL is later accepted and parsed leniently by Domino's internal parser, which resolves the origin to `http://evil.com:80`. The Angular SSR HTTP request interceptor (`relativeUrlsTransformerInterceptorFn`) then resolves all relative backend HTTP requests against this adopted origin, executing the SSRF attack. ### Impact Any Angular application utilizing server-side rendering (`@angular/platform-server`) that configures host routing allowlists (`allowedHosts`) is vulnerable to this allowlist bypass. By sending an HTTP request with a malformed Host header (e.g. `Host: evil.com:80:80`) or an absolute-form request URI, an attacker can bypass the allowlist logic completely (even when configured with a strict default deny setup). The SSR application will then route all relative `HttpClient` outgoing API queries—which commonly carry sensitive credentials, session cookies, and internal authorization tokens—to the attacker-controlled server instead of the intended backend services. Additionally, the attacker can supply custom payloads back to the emulated DOM, leading to response injection and content poisoning within the rendered HTML served to users. ### Attack Preconditions To successfully exploit this vulnerability, the following environment parameters and application states must all concurrently exist: 1. **Active Server-Side Rendering (SSR):** The application must be configured to run with Angular Server-Side Rendering (`@angular/platform-server`). 2. **Host Header/URI Propagation:** The SSR handler must reconstruct the request URL using raw client inputs (such as request Host headers or absolute-form URIs) and pass it as `config.url` to the rendering API (`renderApplication` or `renderModule`). 3. **Outbound Relative HTTP Requests:** The server application must perform outbound backend API requests using relative paths (e.g., `this.http.get('/api/data')`) that undergo base-URL interceptor rewriting. 4. **Enabled Allowed Hosts Check:** The server must use the framework-provided `allowedHosts` options to limit valid server locations. ### Patches * 22.0.0-rc.2 * 21.2.15 * 20.3.22 * 19.2.23

Advisory Timeline

  • First published June 15, 2026 (119 days ago).
  • Last revised July 15, 2026 — 30 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

npm
Update @angular/platform-server to 19.2.23 or later
npm install @angular/platform-server@19.2.23
npm
Update @angular/platform-server to 20.3.22 or later
npm install @angular/platform-server@20.3.22
npm
Update @angular/platform-server to 22.0.0-rc.2 or later
npm install @angular/platform-server@22.0.0-rc.2
npm
Update @angular/platform-server to 21.2.15 or later
npm install @angular/platform-server@21.2.15

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (5)

Affects 1 ecosystem: npm (1).

PackageEcosystemAffectedFixed In
@angular/platform-server
npm
All versions19.2.23
@angular/platform-server
npm
All versions20.3.22
@angular/platform-server
npm
All versionsRange-based data available
@angular/platform-server
npm
All versions22.0.0-rc.2
@angular/platform-server
npm
All versions21.2.15

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

  • CWE-346
    Origin Validation ErrorMITRE
  • CWE-918
    Server-Side Request Forgery (SSRF)MITRE

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 8.2 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
Low
Availability
None

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N

Frequently Asked Questions

What is CVE-2026-50168?
@angular/platform-server: URL Parser Differential leading to SSRF Allowlist Bypass This vulnerability has been assigned a severity rating of HIGH (CVSS score: 8.2/10).
How do I check if my project is affected by CVE-2026-50168?
CVE-2026-50168 affects @angular/platform-server. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2026-50168 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
8.2

High exploitability or significant impact. Prioritize remediation within days.

Also Known As

GHSA-xrxm-cp7j-8xf6

Related CVEs

  • CVE-2026-41423
    HIGH

    Angular: SSRF via protocol-relative and backslash URLs in Angular Platform-Server

  • CVE-2026-88056
    HIGH

    Angular: SSRF and Cross-Origin Credential Disclosure via URL Resolution Discrepancy in SSR

  • CVE-2026-32635
    HIGH

    Angular vulnerable to XSS in i18n attribute bindings

  • CVE-2026-50556
    HIGH

    @angular/platform-server: Missing `<noscript>` Raw-Text Serialization Escaping leads to Cross-Site Scripting (XSS) in Angular SSR

  • CVE-2026-88058
    HIGH

    Angular SSR: XSS via Unescaped Processing Instruction (<?...?>) Nodes in Fallback Raw-Content Elements

  • CVE-2026-69151
    HIGH

    Angular i18n: Cross-Site Scripting (XSS) via event-handler attributes

  • CVE-2026-88060
    HIGH

    Angular: SSR XSS via Unescaped <template> Content Across DocumentFragment Boundaries in Fallback Raw-Content Elements

  • CVE-2026-69149
    HIGH

    Angular SSR: Missing Fallback Raw-Content Serialization Escaping leads to Cross-Site Scripting (XSS)

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies