CVE-2020-7796 Elastic Security · Elastic

Detect Zimbra Collaboration Suite SSRF Exploitation (CVE-2020-7796) in Elastic Security

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.

MITRE ATT&CK

Tactic
Reconnaissance Discovery Lateral Movement

Elastic Detection Query

Elastic Security (Elastic)
eql
sequence by source.ip with maxspan=5m
  [network where event.category == "network" and
   http.request.method in ("GET", "POST") and
   url.path : ("/service/proxy*", "/zimlet/*", "/service/extension/*") and
   url.query : ("*target=http*", "*host=http*", "*url=http*", "*backend=http*", "*redirect=http*") and
   (
     url.query : ("*169.254.*", "*127.0.0.1*", "*localhost*", "*10.*", "*192.168.*", "*metadata.google*")
   )
  ]
  [network where event.category == "network" and
   destination.port in (80, 443, 8080, 8443, 8200, 9200, 5601, 3306, 5432, 6379, 27017)
  ]
high severity medium confidence

Uses EQL sequence correlation to detect Zimbra SSRF attempts followed by outbound connections to internal service ports, indicating successful server-side request forwarding.

Data Sources

Elastic Agent Network EventsPacketbeatZeek/Bro Network Logs

Required Tables

logs-network.*packetbeat-*logs-zeek.*

False Positives & Tuning

  • Legitimate Zimbra proxy usage for calendar or free-busy lookups against internal CalDAV servers
  • Authorized red team exercises targeting Zimbra infrastructure
  • Zimbra backup or synchronization tasks that initiate internal connections

Other platforms 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.

  1. 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

  2. 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

  3. 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

  4. 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

Last updated: 2026-06-19 Research depth: standard
References (2)

Unlock Pro Content

Get the full detection package for CVE-2020-7796 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections