Arbitrary file upload and RCE in Wonder CMS - CVE-2017-14521
By- Samrat Das
Hi Readers
Recently in one of my pentest research, I found a CMS " WonderCMS" hosted in github.
Curious to explore its functionalities, I downloaded and set it up in my local system.
After fiddling with the source code, I found that it did not have any kind of file upload security mechanism and allowed the user to upload any file type! After reporting it to them, I did not receive any security relevant response, hence decided to publish a blog on this.
Hi Readers
Recently in one of my pentest research, I found a CMS " WonderCMS" hosted in github.
Curious to explore its functionalities, I downloaded and set it up in my local system.
After fiddling with the source code, I found that it did not have any kind of file upload security mechanism and allowed the user to upload any file type! After reporting it to them, I did not receive any security relevant response, hence decided to publish a blog on this.
Title of the Vulnerability:
Arbitrary File Upload
Vulnerability Class: Security Misconfiguration
Technical Details & Description: The application source
code is coded in a way which allows arbitrary file extensions to be uploaded.
This leads to uploading of remote shells/ malicious Trojans which can lead to
complete system compromise and server takeover.
CVE ID allocated: CVE-2017-14521
Product & Service Introduction: Wonder CMS 2.3.1
WonderCMS is an open source CMS (Content Management System)
built with PHP, jQuery, HTML and CSS (Bootstrap responsive).
WonderCMS doesn't require any configuration and can be
simply unzipped and uploaded to your server/hosting provider. All data is saved
to a text file (JSON format) which is easily copied, moved, backed up and
restored. WonderCMS runs on less than 50 functions and 850 lines of
code and 5 files.
Steps to Re-Produce –
1.
Visit the file upload function page after
logging in.
2.
Pass any text file your choice
3.
Intercept the request and tamper the values to
pass any exe/ php file of your choice.
4.
Observe the request passing through interception
proxy showing the file being passed in the request
5.
Proceed and you will receive a file uploaded
successfully message
6.
To confirm, logon to the hosting server
directory and see the file uploaded
Exploitation Technique: Any backdoor file or shell can be
uploaded to get access to the uploaded file on remote server and data can be
exfiltrated.
Severity Level: Critical
Security Risk:
The presence of an actual malicious file can compromise the
entire system leading to system takeover/ data stealing
Affected Product Version: 2.3.1
Solution - Fix & Patch: The application code should be
configured in such a way, that it should block uploading of malicious files
extensions such as exe/ php and other extensions with a thorough server as well
as client validation.
Here are the step by step method of the attack method:
If you are looking for premiere CMS system development, EX Squared is the only name you can trust. Our team of expert developers can create custom solutions to fit the unique needs of your business.
ReplyDelete