CVE-2026-88056
CVE-2026-88056 — Angular: SSRF and Cross-Origin Credential Disclosure via URL Resolution Discrepancy in SSR
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…
Published Updated Sources: cvelistV5, GitHub_M
Triage
Is it exploited, how likely is exploitation, what does it touch, and how severe do the scoring sources call it.
Exploitation
Unreported
no source claims exploitation
EPSS
0%
chance of exploitation in 30 days
CVSS base
8.6
HIGH
Affected scope
The catalog records vendors and products as separate lists, not pairs, so which product belongs to which vendor is not something this page can say.
Vendors (1)
Products (1)
Every base score collected
Sources score independently and disagree; each row says who scored it and under which version.
| Score | Version | Severity | Expl. | Impact | Source |
|---|---|---|---|---|---|
| 8.6 | CVSS 4.0 | HIGH | — | — | cvelistV5 |
Weakness & attack patterns
- CWE-918
Detection
Read off the CVSS vector and the weakness class. Starting points, not rules we have tested.
- Search application, proxy, and WAF logs for requests touching /JavaScript, /platform-server.
References
7 on the record
- github.com/angular/angular/security/advisories/GHSA-f6mr-pjwc-34m4
x_refsource_CONFIRM
- github.com/angular/angular/commit/3e924cc8dbbb57f23b262cb8f0d7e2bd0673034c
x_refsource_MISC
- github.com/angular/angular/commit/5aa6d97deb9ef1de14e23748b7fa74f97d183132
x_refsource_MISC
- github.com/angular/angular/commit/71e52d1396b9cef98652929b73e08c4cde645970
x_refsource_MISC
- github.com/angular/angular/releases/tag/v20.3.30
x_refsource_MISC
- github.com/angular/angular/releases/tag/v21.2.22
x_refsource_MISC
- github.com/angular/angular/releases/tag/v22.1.4
x_refsource_MISC
Elsewhere on this site
Not in any source we poll
Listed rather than left blank: an empty field and an unmeasured one look identical on screen, and only one is a reason to look elsewhere.
- No confirmed IOCs, IP addresses, domains, file hashes, or malware artifacts supplied.
- No organization-specific asset inventory, compensating-control status, or patch deployment evidence supplied.
- No exploit packet captures, log samples, or incident case IDs supplied.