CVE-2026-27739

N/A Unknown

📋 TL;DR

Angular SSR versions before 21.2.0-rc.1, 21.1.5, 20.3.17, and 19.2.21 have a Server-Side Request Forgery vulnerability where attackers can manipulate Host and X-Forwarded-* headers to redirect server requests to arbitrary internal destinations. This affects Angular applications using server-side rendering that perform HttpClient requests with relative URLs or manually construct URLs from untrusted headers.

💻 Affected Systems

Products:
  • Angular SSR (Server-Side Rendering)
Versions: All versions prior to 21.2.0-rc.1, 21.1.5, 20.3.17, and 19.2.21
Operating Systems: All operating systems running Angular SSR
Default Config Vulnerable: ⚠️ Yes
Notes: Only vulnerable when using Angular SSR with HttpClient relative URLs or manual URL construction from req.headers, and when infrastructure doesn't sanitize Host/X-Forwarded-* headers.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Credential exfiltration, internal network reconnaissance, data breaches, and potential lateral movement within internal infrastructure.

🟠

Likely Case

Internal network probing and unauthorized access to internal services accessible from the vulnerable server.

🟢

If Mitigated

Limited to attempted attacks that are blocked by proper header validation and network segmentation.

🌐 Internet-Facing: HIGH - Attackers can exploit this remotely if the application is internet-facing and headers aren't validated by proxies/CDNs.
🏢 Internal Only: MEDIUM - Internal attackers could exploit this if they can reach the application server and manipulate headers.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW - Attackers only need to manipulate HTTP headers.

Exploitation requires specific application configurations but is straightforward when conditions are met.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 21.2.0-rc.1, 21.1.5, 20.3.17, or 19.2.21 depending on your Angular version

Vendor Advisory: https://github.com/angular/angular-cli/security/advisories/GHSA-x288-3778-4hhx

Restart Required: Yes

Instructions:

1. Identify your Angular version. 2. Upgrade to the patched version for your release line: 19.x → 19.2.21, 20.x → 20.3.17, 21.x → 21.1.5 or 21.2.0-rc.1. 3. Restart your application server.

🔧 Temporary Workarounds

Implement Header Validation Middleware

all

Add middleware to server.ts to validate Host header and enforce numeric ports

// Add to server.ts before Angular bootstrap
app.use((req, res, next) => {
  const host = req.headers.host;
  // Validate host format and port
  if (!isValidHost(host)) {
    return res.status(400).send('Invalid host header');
  }
  next();
});

🧯 If You Can't Patch

  • Avoid using req.headers for URL construction - use trusted environment variables for base API paths
  • Configure front-facing proxies, CDNs, or load balancers to strip or validate Host and X-Forwarded-* headers

🔍 How to Verify

Check if Vulnerable:

Check if your Angular application uses SSR and performs HttpClient requests with relative URLs or constructs URLs from req.headers without validation.

Check Version:

ng version

Verify Fix Applied:

Verify Angular version is 19.2.21, 20.3.17, 21.1.5, or 21.2.0-rc.1 or higher, and test that header manipulation no longer redirects requests.

📡 Detection & Monitoring

Log Indicators:

  • Unusual outbound requests from SSR server to internal IPs
  • Requests with manipulated Host/X-Forwarded headers

Network Indicators:

  • SSR server making unexpected internal network connections
  • HTTP traffic with suspicious header patterns

SIEM Query:

source="angular-ssr-server" AND (dest_ip IN internal_ranges OR http.headers.host CONTAINS suspicious_pattern)

🔗 References

📤 Share & Export