Если вы используете плагин Custom Contact Forms для WordPress, то необходимо немедленно сделать апгрейд до последней версии 5.1.0.4.

Custom-Contact-Form

Специалисты из компании Sucuri обнаружили критическую уязвимость в этом плагине, позволяющую злоумышленнику получить неавторизованный доступ к базе данных на сервере. Кто угодно может скачать или полностью удалить всю информацию.

Несколько недель назад компания Sucuri связалась с разработчиком и сообщила ему о баге, но тот не ответил. Пришлось обратиться в отдел безопасности WordPress, так что патч всё-таки выпустили.

Custom Contact Forms — довольно популярный плагин, который скачали более 600 000 раз, а уязвимость затрагивает все версии от 5.1.0.3 и ниже.

Баг находится в одном фрагменте кода, который создаёт класс CustomContactFormsAdmin в любом случае, когда пользователь просматривает страницу в папке /wp­admin/.

if (!is_admin()) { /* is front */
require_once(‘custom­contact­forms­front.php’);
$custom_contact_front = new CustomContactFormsFront();

(…)
} else { /* is admin */

$GLOBALS['ccf_current_page'] = (isset($_GET['page'])) ? $_GET['page'] : ”;
require_once(‘custom­contact­forms­admin.php’);
$custom_contact_admin = new CustomContactFormsAdmin();

(…)
add_action(‘init’, array(&$custom_contact_admin, ‘adminInit’), 1);

(…)
}

Функция adminInit() скрывает за собой весьма интересную функциональность.

function adminInit() {

$this­>downloadExportFile();
$this­>downloadCSVExportFile();
$this­>runImport();
}

В частности, функция downloadExportFile() используется для генерации и скачивания SQL-дампа параметров плагина, а функция runImport() делает в точности обратную операцию, импортируя бэкап SQL обратно в базу данных. Таким образом, кто угодно может отредактировать дамп и добавить в базу произвольные запросы.

Кстати, несколько дней назад уязвимость нашли в другом популярном плагине MailPoet, который тоже следует немедленно обновить.



1 комментарий

  1. 11.08.2014 at 13:21

    Очень хочется, чтобы вы реагировали быстрее. Особенно удивило «несколько дней назад» в одном предложении со ссылкой на материал от первого июля.

Оставить мнение