Safeguard
Vulnerability Analysis•

CVE-2026-88056: Critical SSRF in Angular Server-Side Rendering

CVE-2026-88056 is an SSRF in Angular server-side rendering that can send server credentials to another origin. Upgrade to 20.3.30, 21.2.22 or 22.1.4.

Safeguard Security Team
4 min read

CVE-2026-88056 is a critical (CVSS 9.1) server-side request forgery in @angular/platform-server. A leading Unicode space is stripped after a same-origin check, so a relative path can become an attacker-controlled address, and server credentials may be sent there. Upgrade to 20.3.30, 21.2.22 or 22.1.4.

What's affected

Angular Server-Side Rendering in @angular/platform-server is affected before these releases:

  • 20.3.30 on the 20 line
  • 21.2.22 on the 21 line
  • 22.1.4 on the 22 line

Not all apps are exposed. The advisory text in the record says the harm occurs in affected applications that attach sensitive server-side credentials, such as Authorization headers, to requests that application code has approved. Apps that render on the server but add no credentials have less to lose.

How to check if you're exposed

Check the installed version of the server platform package in each project:

npm ls @angular/platform-server

Run it in every application, and in monorepo workspaces run it from the root. Lockfiles are the better source of truth for deployed builds:

grep -A2 '"node_modules/@angular/platform-server"' package-lock.json

Then search your server code for places where it adds an Authorization header or another secret to outbound requests made through HttpClient during rendering. Interceptors are the usual place. If your app does that, treat the finding as high priority.

What to do now

  1. Upgrade @angular/platform-server to 20.3.30, 21.2.22 or 22.1.4, according to your major version.
  2. Keep other Angular packages on matching versions, then rebuild and redeploy the server bundle.
  3. Review server interceptors that attach credentials, and attach them only for requests to known hosts.
  4. Rotate tokens that your server sends on outbound requests if you suspect misuse.
  5. Add outbound request logging on the render server so unexpected hosts stand out.

Even after the patch, the safest design is one where credentials are only added for an explicit list of hosts. Check the destination in the interceptor, using a parsed URL and a strict comparison, instead of trusting that a request is internal because it started as a relative path.

Server rendering also runs close to your network. A render server that can reach internal services, or a cloud metadata address, makes any request forgery bug more valuable. Limit its outbound access with egress rules if your platform supports them.

Why it matters

The weakness is CWE-918 (server-side request forgery). The advisory describes a mismatch between two pieces of code. Application code checks that a URL is same-origin using the standard URL parser. Later, Angular utility functions called trim, which removes certain leading Unicode whitespace such as non-breaking space or a byte order mark. After the trim, the string that passed the check became a protocol-relative address, and the request interceptor sent it, with credentials attached, to the other origin.

This is a validation gap: the value was checked in one form and used in another. The fix avoids stripping Unicode whitespace during URL resolution, so the checked value and the used value agree.

The record does not mark this CVE as known exploited, and it is not in the CISA KEV list.

Try it yourself

Three version lines each have a fix. A view of which fix applies to which of your projects saves guesswork.

Click through it at your own pace, or open it full screen.

Quick check

Do I need to patch if my app is client-side only?

The flaw is in the server platform package. Apps that never use @angular/platform-server are not in this path.

Which version do I pick?

The fix for your major line: 20.3.30, 21.2.22 or 22.1.4.

If you want a quick look at your own dependencies, the free in-browser scan at gold.safeguard.sh/scan needs no repository access.

Sources

Fetched for this guide:

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.