CVE-2026-88056
largeSSRF and credential disclosure in Angular server-side rendering (@angular/platform-server)
CVE-2026-88056 is a server-side request forgery (SSRF) flaw in Angular's server-side rendering package, @angular/platform-server, caused by URL utilities that strip Unicode whitespace after security validation has already run. When an SSR application validates a user-supplied resource URL using WHATWG URL parsing and then forwards it via HttpClient, the resolveUrl and parseUrl helpers call String.prototype.trim(), which removes leading Unicode whitespace such as U+00A0 or U+FEFF that the WHATWG parser does not treat as whitespace — so a URL that validated as a same-origin relative path is silently converted into a protocol-relative URL pointing at an attacker-controlled origin. Because the trimmed URL is still treated as approved, relativeUrlsTransformerInterceptorFn dispatches the request cross-origin, and if the application attaches sensitive server-side credentials such as Authorization headers to approved requests, the attacker receives those requests and captures the credentials. Only Angular SSR deployments running @angular/platform-server prior to 20.3.30, 21.2.22, and 22.1.4 — specifically those that validate user-controlled URLs and attach credentials to the resulting requests — are affected; purely client-side Angular applications are not. No public proof-of-concept, in-the-wild exploitation, or KEV listing is known as of this analysis.
What to do: Upgrade @angular/platform-server to 20.3.30, 21.2.22, or 22.1.4, matching the major Angular version in use. As interim mitigations, avoid dispatching user-controlled URLs through HttpClient on the server, strip or reject leading non-ASCII Unicode whitespace (U+00A0, U+FEFF) before validation, or re-verify the origin after Angular's own URL processing. Audit SSR code paths that attach Authorization headers or other credentials to validated requests, since those configurations are the ones that turn the SSRF into credential disclosure.
| Angular (Google) Angular @angular/platform-server (server-side rendering) | prior to 20.3.30, 21.2.22, and 22.1.4 (affects applications using Angular SSR on the 20, 21, and 22 release lines) |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 20.3.30, 21.2.22, and 22.1.4, Angular Server-Side Rendering in @angular/platform-server processes user-controlled resource or request URLs through HttpClient after application code validates them with WHATWG URL parsing. The resolveUrl and parseUrl utilities called String.prototype.trim(), which removed leading Unicode whitespace such as U+00A0 or U+FEFF after the input passed a same-origin check, converting a relative path into a protocol-relative attacker-controlled URL. In affected applications that attach sensitive server-side credentials such as Authorization headers to approved requests, relativeUrlsTransformerInterceptorFn then dispatched the request to the attacker-controlled origin, causing SSRF and credential disclosure. This issue is fixed in versions 20.3.30, 21.2.22, and 22.1.4.
- Ecosystems
- npm
- Weakness
- CWE-918
- Vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/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
- GHSA
- GHSA-f6mr-pjwc-34m4 (high)
In the news0 stories
No ingested article mentions this CVE yet.