Zimbra Collaboration Suite SSRF Exploitation (CVE-2020-7796)
Detects exploitation attempts targeting CVE-2020-7796, a Server-Side Request Forgery (SSRF) vulnerability in Synacor Zimbra Collaboration Suite (ZCS). This vulnerability allows unauthenticated remote attackers to make the Zimbra server issue arbitrary HTTP requests to internal or external resources, potentially enabling internal network scanning, credential theft, or pivoting to internal services.
Vulnerability Intelligence
KEV — Known ExploitedAffected Software
- Vendor
- Synacor
- Product
- Zimbra Collaboration Suite
Weakness (CWE)
Timeline
- Disclosed
- February 17, 2026
References & Proof of Concept
CVSS
What is CVE-2020-7796 Zimbra Collaboration Suite SSRF Exploitation (CVE-2020-7796)?
Zimbra Collaboration Suite SSRF Exploitation (CVE-2020-7796) (CVE-2020-7796) maps to the Reconnaissance and Discovery and Lateral Movement tactics — the adversary is trying to gather information they can use to plan future operations in MITRE ATT&CK.
This page provides production-ready detection logic for Zimbra Collaboration Suite SSRF Exploitation (CVE-2020-7796), covering the data sources and telemetry it touches: IIS Web Logs, Common Security Log, Proxy Logs, Network Flow Logs. The queries below are rated high severity at medium confidence, and ship for 7 SIEM platforms — KQL, SPL, Elastic, QRadar, Sumo, YARA-L, LogScale.
MITRE ATT&CK
union isfuzzy=true
(
W3CIISLog
| where csUriStem has_any ("/zimlet/", "/service/proxy", "/service/extension/zimbrabackup", "/Microsoft-Server-ActiveSync")
| where csUriQuery has_any ("target=", "host=", "url=", "backend=", "redirect=")
| where csUriQuery matches regex @"(?i)(target|host|url|backend|redirect)=https?://"
| extend SuspiciousTarget = extract(@"(?i)(?:target|host|url|backend|redirect)=([^&\s]+)", 1, csUriQuery)
| where SuspiciousTarget matches regex @"(?i)(169\.254\.|10\.|172\.(1[6-9]|2[0-9]|3[01])\.|192\.168\.|localhost|127\.0\.0\.1|::1|metadata\.google|metadata\.internal|169\.254\.169\.254)"
| project TimeGenerated, cIP, csHost, csMethod, csUriStem, csUriQuery, scStatus, SuspiciousTarget, Computer
)
,
(
CommonSecurityLog
| where DeviceVendor has_any ("Zimbra", "Synacor")
| where RequestURL has_any ("/service/proxy", "/zimlet/", "/service/extension")
| where RequestURL has_any ("target=", "host=", "url=")
| project TimeGenerated, SourceIP, DestinationIP, RequestURL, DeviceVendor, DeviceProduct, Activity
)
| extend AccountName = coalesce(csHost, DestinationIP)
| summarize RequestCount = count(), UniqueTargets = dcount(SuspiciousTarget), FirstSeen = min(TimeGenerated), LastSeen = max(TimeGenerated) by SourceIP = coalesce(cIP, SourceIP), AccountName
| where RequestCount >= 1
| extend RiskScore = case(RequestCount > 20, "High", RequestCount > 5, "Medium", "Low")
| project FirstSeen, LastSeen, SourceIP, AccountName, RequestCount, UniqueTargets, RiskScore Detects SSRF exploitation attempts against Zimbra Collaboration Suite by identifying HTTP requests to known SSRF-vulnerable endpoints with internal network targets or metadata service URLs in query parameters.
Data Sources
Required Tables
False Positives
- Legitimate Zimbra administrative proxying operations using the /service/proxy endpoint
- Security scanner or vulnerability assessment tools performing authorized testing against Zimbra
- Zimbra internal health checks or calendar/mail federation that involve URL parameters
Sigma rule & cross-platform mapping
The detection logic for Zimbra Collaboration Suite SSRF Exploitation (CVE-2020-7796) (CVE-2020-7796) above is provided in a vendor-neutral
form so you can deploy it on any SIEM. The same logic is shipped here as native
KQL (Microsoft Sentinel / Defender), SPL (Splunk), Elastic (Elastic Security (EQL)), QRadar (IBM QRadar (AQL)), Sumo (Sumo Logic CSE), YARA-L (Google Chronicle / SecOps), LogScale (CrowdStrike LogScale (CQL)) queries. In Sigma terms, this detection targets the
following logsource:
logsource:
category: network_connection
product: windows Browse the community-maintained Sigma rules for this technique:
Platform-specific guides for CVE-2020-7796
Testing Methodology
Validate this detection against 4 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1Zimbra SSRF via /service/proxy to Internal Metadata Service
Expected signal: HTTP GET request to /service/proxy with target parameter set to 169.254.169.254 visible in Zimbra access logs; outbound network connection from Zimbra server to 169.254.169.254:80 visible in network flow data
- Test 2Zimbra SSRF Internal Port Scan via /service/proxy
Expected signal: Multiple sequential requests to /service/proxy with varying port numbers in the target parameter; outbound connections from Zimbra host to internal IP across multiple ports within a short time window
- Test 3Zimbra SSRF to Internal Admin Interface via /zimlet/ Endpoint
Expected signal: HTTP GET to /zimlet/ endpoint with backend parameter containing 127.0.0.1 and internal admin port 7071; loopback connection attempt from Zimbra process visible in netstat/ss output or network telemetry
- Test 4Zimbra SSRF Credential Harvest via AWS EC2 Metadata
Expected signal: Two sequential requests to /service/proxy with IMDSv1 paths in target parameter; successful 200 response containing JSON with AccessKeyId, SecretAccessKey, and Token fields if running on AWS EC2 without IMDSv2 enforcement
Unlock Pro Content
Get the full detection package for CVE-2020-7796 including response playbook, investigation guide, and atomic red team tests.