Published : April 26, 2026

CVE-2025-15635: Smart Online Order for Clover <= 1.6.0 Cross-Site Request Forgery PoC, Patch Analysis & Rule

Severity Medium (CVSS 4.3)
CWE 352
Vulnerable Version 1.6.0
Patched Version
Disclosed April 14, 2026

Analysis Overview

{
“analysis”: “Atomic Edge analysis of CVE-2025-15635 (metadata-based):nnThe Smart Online Order for Clover plugin (slug: clover-online-orders) for WordPress, versions up to and including 1.6.0, contains a Cross-Site Request Forgery (CSRF) vulnerability. This vulnerability allows an unauthenticated attacker to perform unauthorized actions on behalf of a site administrator, but only if the administrator is tricked into clicking a crafted link. The CVSS score is 4.3 (Medium), reflecting the requirement for user interaction.nnThe root cause is a missing or incorrect nonce validation on a function within the plugin. Based on the CWE-352 classification, this is a classic CSRF issue. WordPress uses nonces (one-time tokens) to verify that requests to sensitive actions originate from the intended user’s session. Without proper nonce checking, the plugin does not confirm that the request came from an administrator willingly. Atomic Edge analysis infers that the vulnerable function likely handles a configuration change, plugin settings update, or data import/export action, as these are common targets for CSRF in WordPress plugins.nnTo exploit this vulnerability, an attacker crafts a malicious HTML page or link that sends a forged request to a WordPress endpoint where the vulnerable plugin registers its action. The exact endpoint cannot be confirmed without source code, but based on the plugin slug and common WordPress patterns, the likely target is an AJAX handler (e.g., `/wp-admin/admin-ajax.php?action=clover_online_orders_save_settings`) or an admin POST handler (`/wp-admin/admin-post.php?action=clover_online_orders_update`). The attacker would lure a logged-in administrator into visiting the crafted page, which would trigger the request without their knowledge.nnThe remediation requires adding nonce validation to the vulnerable function. In WordPress, this typically involves calling `check_ajax_referer()` or `wp_verify_nonce()` at the beginning of the function, and including a nonce field in the request form or AJAX call using `wp_nonce_field()` or `wp_create_nonce()`. The plugin developer should also validate that the requesting user has appropriate capabilities (e.g., `manage_options`) if the action is administrative.nnIf exploited, an attacker could perform unauthorized actions such as modifying plugin settings, changing Clover API credentials, enabling/disabling features, or potentially exporting sensitive data. The impact is limited to integrity (low integrity impact per CVSS) and does not allow direct data exposure or privilege escalation. However, changing API keys could lead to further compromise of the Clover integration.”,
poc_php”: “WordPress site URLn$admin_ajax_url = $target_url . '/wp-admin/admin-ajax.php';nn// Inferred action name based on plugin slug and typical naming conventionsn// NOTE: Without source code, this action is a best guess. If incorrect, adjust below.n$action_name = 'clover_online_orders_save_settings'; // Example: saving plugin settingsnn// Craft a malicious HTML page that automatically submits a formn$html_payload = <<

CSRF Exploit for CVE-2025-15635

n

This page submits a forged request to the vulnerable plugin.

nn n n n nnn // Auto-submit the form to demonstrate CSRF (real attack would use images or iframes)n // For demonstration, we use a clickable button. In a real attack, use JavaScript to submit automatically.n // document.getElementById(‘csrf_form’).submit();nnnnHTML;nn// Save the HTML to a file or output directlynfile_put_contents(‘cve-2025-15635_csrf.html’, $html_payload);necho “[-] CSRF PoC page generated: cve-2025-15635_csrf.html\n”;necho “[-] Send this HTML file to a logged-in WordPress admin to trigger the request.\n”;necho “[-] NOTE: The action name ‘{$action_name}’ is inferred. If it fails, modify the script with the correct action.\n”;n?>n”,
modsecurity_rule”: “# Atomic Edge WAF Rule – CVE-2025-15635 (metadata-based)n# Blocks CSRF exploitation by requiring nonce on the inferred AJAX actionn# Since the vulnerability is missing nonce validation, we block requests that lack a nonce parametern# This rule assumes the vulnerable action expects a nonce field (e.g., _wpnonce) and blocks if absentnSecRule REQUEST_URI “@streq /wp-admin/admin-ajax.php” \n “id:20261994,phase:2,deny,status:403,chain,msg:’CVE-2025-15635 CSRF attempt on Smart Online Order for Clover’,severity:’CRITICAL’,tag:’CVE-2025-15635′”n SecRule ARGS_POST:action “@streq clover_online_orders_save_settings” \n “chain”n SecRule ARGS_POST:_wpnonce “@rx ^$” \n “t:trim”n}

Frequently Asked Questions

Atomic Edge WAF security layer inspecting website traffic.

How Atomic Edge Works

Simple Setup. Powerful Security.

Atomic Edge acts as a security layer between your website & the internet. Our AI inspection and analysis engine auto blocks threats before traditional firewall services can inspect, research and build archaic regex filters.

Get Started

Trusted by Developers & Organizations

Trusted by Developers
Black & McDonald logo representing Enterprise tier security and support for Atomic Edge WAF.Covenant House Toronto logo featuring a dove and text for Atomic Edge Enterprise planAlzheimer Society Canada logo representing trusted organizations and security partners.University of Toronto logo representing trusted organizations using Atomic Edge WAFSpecsavvers logo, trusted developers and organizations using Atomic Edge securityHarvard Medical School logo representing trusted organizations using Atomic Edge WAF.