Cross-Site Request Forgery in Icegram WordPress Plugin

Abstract

A Cross-Site Request Forgery vulnerability was found in the Icegram WordPress Plugin. This issue allows an attacker to overwrite any WordPress option with the value true. An attacker may use this issue to enable (vulnerable) WordPress features that are disabled in the target site.

OVE ID

OVE-20160712-0032

Tested versions

This issue was successfully tested on the Icegram - Popups, Optins, CTAs & lot more... WordPress Plugin version 1.9.18.

Fix

This issue is resolved in Icegram 1.9.19.

Introduction

The Icegram WordPress Plugin allows creating beautiful popups, hellobars, slide-ins & notifications. Capture leads, Instant results and awesome support. A Cross-Site Reqeust Forgery vulnerability exists in Icegram that allows an attacker to overwrite any WordPress option with the value true. An attacker may use this issue to enable (vulnerable) WordPress features that are disabled in the target site.

Details

The vulnerability exists in the file icegram.php. As can be seen in the code fragment below, the plugin reads the value of the option_name URL parameter and uses this value as a key to update_option(). This allows an attacker to create an link that will overwrite an arbitrary WordPress option. The value of target option will be set to true.

update_option($_GET['option_name'], true);

In order to exploit this issue, the attacker has to lure/force a logged on WordPress Administrator into opening a malicious link. If a logged in Administrator opens the following URL, the ability for users to register will be enabled:

http:///wp-admin/edit.php?dismiss_admin_notice=1&option_name=users_can_register

Questions or feedback?