WordPress Plugin Vulnerabilities
Fancy Product Designer < 4.6.9 - Unauthenticated Arbitrary File Upload and RCE
Description
The plugin allows unauthenticated attackers to upload arbitrary files, resulting in remote code execution. The issue is being actively exploited, and no patch is available. Further details will be made available once pathed.
Proof of Concept
The Custom Product Designer plugin for WordPress offers the ability for customers to upload images and PDF files via the custom-image-handler.php. On sites running Apache, this file must be loaded via the “fpd_custom_uplod_file” AJAX action, whereas on sites running NGINX this file can be accessed directly, as the .htaccess rule blocking access to this file will not be processed on NGINX. Regardless of how the file is accessed, it is possible to use the custom image handler to upload executable PHP files. This is possible because the FPD_Image_Utils::sanitize_filename method in fpd-image-utils checks for malicious extensions on the unsanitized version of the supplied filename. In other words, it’s possible to supply a file with a “filename” of “.p h p” or “.p-h-p”. Both of these pass the malicious file extension check, but are sanitized down to “.php”, and are added to the site in a filename with a unique id ending in PHP (e.g. 1d4609806ff0f4e89a3fb5fa35678fa0.php). An example POST body is listed below though it would be good to not display it until the vulnerability has been patched: ------WebKitFormBoundaryPq7qdNQ9shOFwW78 Content-Disposition: form-data; name="action" fpd_custom_uplod_file ------WebKitFormBoundaryPq7qdNQ9shOFwW78 Content-Disposition: form-data; name="uploadsDir" uploads ------WebKitFormBoundaryPq7qdNQ9shOFwW78 Content-Disposition: form-data; name="uploadsDirURL" uploads ------WebKitFormBoundaryPq7qdNQ9shOFwW78 Content-Disposition: form-data; name="saveOnServer" 1 ------WebKitFormBoundaryPq7qdNQ9shOFwW78 Content-Disposition: form-data; name="pdf"; filename="blah.p h p" Content-Type: application/pdf <?php phpinfo(); ------WebKitFormBoundaryPq7qdNQ9shOFwW78--
Affects Plugins
References
Miscellaneous
Original Researcher
Charles Sweethill/Ram Gall
Submitter
Ramuel Gall
Submitter twitter
Verified
Yes
WPVDB ID
Timeline
Publicly Published
2021-06-01 (about 2 years ago)
Added
2021-06-01 (about 2 years ago)
Last Updated
2021-06-25 (about 2 years ago)