Critical · published September 10, 2026
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.
| Product | Versions | Fixed in |
|---|---|---|
| angular/angular | ≥ 19.0.0, ≤ 19.2.25 | — |
| angular/angular | ≥ 20.0.0, < 20.3.30 | 20.3.30 |
| angular/angular | ≥ 21.0.0, < 21.2.22 | 21.2.22 |
| angular/angular | ≥ 22.0.0, < 22.1.4 | 22.1.4 |