Skip to main content
Live Webinar with SANS (June 25)— Agentic CTI Automation for Fun & ProfitRegister Free
Mallory
CriticalPublic exploit

SSRF in Angular SSR request handling pipeline

IdentifiersCVE-2026-27739CWE-918· Server-Side Request Forgery (SSRF)

CVE-2026-27739 is a Server-Side Request Forgery vulnerability in Angular Server-Side Rendering (SSR) affecting versions prior to 21.2.0-rc.1, 21.1.5, 20.3.17, and 19.2.21. The flaw is in Angular SSR’s internal URL reconstruction and request handling logic, which trusts user-controlled HTTP headers—particularly Host and the X-Forwarded-* family—to derive the application’s base origin without sufficient validation. According to the provided content, the framework lacked validation of destination domain, hostname trust, path and special-character sanitization, and numeric port validation. This can be triggered in two main patterns: when server-side HttpClient requests use relative URLs that are resolved against the reconstructed origin, and when application code manually builds URLs from unvalidated REQUEST/req.headers values. The result is that attacker-supplied header values can steer server-side requests to attacker-controlled or internal destinations, including malformed URI construction and header/URI injection scenarios.

Share:
For your environment

Are you exposed to this one?

Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.

ANALYST BRIEF

Impact, mitigation & remediation

What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.

Impact

What an attacker gets, and what they’ve been doing with it.

Successful exploitation allows arbitrary internal request steering from the Angular SSR server context. This can expose sensitive data by redirecting outbound requests carrying Authorization headers, session cookies, or other server-side credentials to attacker-controlled endpoints. It can also be used for internal network probing and access to internal services, databases, or cloud metadata endpoints that are not publicly reachable. The primary security consequence described in the content is a confidentiality breach, though the SSRF may also facilitate follow-on access to internal resources depending on the application and environment.

Mitigation

If you can’t patch tonight, do this now.

If immediate upgrade is not possible, do not construct URLs from req.headers or REQUEST-derived Host / X-Forwarded-* values. Use trusted configuration or absolute URLs for base API paths and origins. Implement strict validation and sanitization in server.ts or equivalent middleware to allow only expected hostnames, reject path segments and special characters in forwarded host values, and require numeric ports. Fronting infrastructure such as proxies, CDNs, and load balancers should normalize, sanitize, or overwrite Host and X-Forwarded-* headers so attacker-controlled values cannot reach the SSR application unchecked.

Remediation

Patch, then assume compromise.

Upgrade Angular SSR to a fixed version appropriate for the deployed branch: 21.2.0-rc.1, 21.1.5, 20.3.17, or 19.2.21. These releases contain the vendor patch for the vulnerable request handling and origin reconstruction behavior.
PUBLIC EXPLOITS

Exploits

2 valid exploits after Mallory filtered fakes, detection scripts, and README-only repos.

VALID 2 / 2 TOTALView more in app
CVE-2026-27739-POCMaturityPoCVerified exploit

Repository is a small standalone Python proof-of-concept exploit with 3 files: LICENSE, README.md, and a single executable script (code.py). The script targets Angular Universal/SSR applications that unsafely process forwarding headers and potentially prototype-pollution-style input. Its main capabilities are: (1) testing header injection behavior using crafted X-Forwarded-* and X-Original-URL headers, (2) attempting SSRF against internal and cloud metadata endpoints by placing internal URLs into trusted forwarding headers, (3) scanning for success indicators in returned content such as metadata, IAM, token, elastic, redis, admin, and profile strings, and (4) attempting sensitive data extraction from AWS metadata endpoints, including token and IAM role data. The exploit uses Python requests with a Session object, accepts a target URL and optional SSL verification bypass, and runs through a fixed sequence: test_header_injection(), exploit_ssrf_chain(), extract_sensitive_data(), then generate_report(). The README mirrors the exploit intent and usage examples. This is not framework-based code and is more than a detector: it actively sends exploitation requests and attempts credential/metadata retrieval, though payloads and targets are largely hardcoded, making it operational but not highly modular.

mr-redoo7Disclosed Apr 8, 2026pythonmarkdownwebnetworkcloud
-CVE-2026-27739-pocMaturityPoCVerified exploit

Repository contains a small Python proof-of-concept targeting an alleged Angular Universal/SSR issue (README labels it CVE-2026-27739) focused on abusing unsafe trust of forwarded headers to achieve SSRF and header manipulation. Structure: - README.md: Describes the attack idea (X-Forwarded-For pointing to cloud metadata), usage examples, and a vulnerable Angular SSR pattern where req.headers are forwarded to internal fetches. It also includes a pasted/truncated code fragment referencing report generation. - code.py: Main exploit script (entry point via shebang). Implements class AngularSSRExploit with three main phases: 1) test_header_injection(): Sends GET requests with crafted headers and a prototype-pollution style query string to look for error/response indicators. 2) exploit_ssrf_chain(): Iterates a hardcoded list of internal targets (AWS IMDS, GCP metadata, localhost admin, Elasticsearch, Redis) and calls ssrf_via_headers() which sets X-Forwarded-For/X-Original-URL/etc. to the internal URL and checks the returned response body for keywords suggesting SSRF success. 3) extract_sensitive_data(): Attempts an AWS IMDSv2-style token/credential extraction by sending X-Forwarded-For to the token endpoint and regex-searching the target’s response for a token-like field, then reusing it in an X-Metadata-Token header to query IAM security credentials. Notable limitations/quality notes: - The script assumes the target will reflect SSRF-fetched content in the HTTP response body; it uses simple keyword matching. - The IMDSv2 flow is not accurate to AWS’s required PUT + X-aws-ec2-metadata-token-ttl-seconds semantics; it instead performs GET and looks for a token in returned text, so real-world success is uncertain. - generate_report() is truncated in the provided content; README suggests writing a report file, but code.py’s report generation appears incomplete here. Overall purpose: a network-based PoC to validate and demonstrate header-based SSRF and related header injection risks in Angular SSR/Universal deployments that forward untrusted headers/URLs to internal requests, with emphasis on cloud metadata exposure.

bankerkeDisclosed Mar 11, 2026pythonmarkdownnetwork
EXPOSURE SURFACE

Affected products & vendors

Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.

VendorProductType
Angular@Angular/Ssrapplication
Angular@Nguniversal/Commonapplication
Angular@Nguniversal/Express-Engineapplication
AngularCommonapplication
AngularExpress-Engineapplication
AngularSsrapplication
GoogleCommonapplication
GoogleExpress-Engineapplication
GoogleSsrapplication

Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.

What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets are affected, which adversaries are exploiting it right now, which detections to deploy, and what to do tonight.
Exposure mapping

Query your assets running an affected version, and investigate the blast radius.

Threat actor evidence

Every observed campaign linking this CVE to a named adversary.

Associated malware

Malware families riding this exploit, with evidence and IOCs.

Detection signatures

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

Vendor-by-vendor mapping

Cross-references every affected SKU, including bundled OEM variants.

Social activity4

Community discussion across Reddit, Mastodon, and other social sources.