В плагине Facebook for WordPress пропатчена критическая RCE-уязвимость

В расширении Facebook for WordPress (ранее Official Facebook Pixel) устранили две опасные уязвимости. Одна из них позволяет внедрить на сайт вредоносный PHP-код и удаленно запустить его на исполнение. Пользователям рекомендуется обновить продукт до новейшей версии — 3.0.5.

Плагин Facebook for WordPress встраивает в страницы фрагмент кода Facebook Pixel, способный мониторить трафик, регистрировать действия пользователей (просмотр контента, добавление товаров в корзину, оформление заказа), оптимизировать рекламу и создавать аудитории для рекламных кампаний. В настоящее время на счету этого продукта числится более 500 тыс. активных установок.

В конце декабря исследователи из Wordfence / Defiant обнаружили в Facebook for WordPress критическую уязвимость, связанную с ошибкой десериализации, которая возникает при выполнении функции run_action(). Авторы находки классифицировали ее как возможность инъекции PHP-объекта с оценкой 9 баллов по шкале CVSS.

Наличие данной уязвимости позволяет, минуя аутентификацию, загружать на сайт произвольные файлы и выполнить, таким образом, вредоносный код. Проблема актуальна для Facebook for WordPress версий 2.2.2 и ниже; разработчик ее устранил в начале января, выпустив сборку 3.0.0 плагина.

Вторая брешь, найденная 27 января, чуть менее опасна (8,8 балла). Она представляет собой возможность межсайтовой подделки запросов (CSRF), грозящей XSS-атакой. По свидетельству Wordfence, эта уязвимость была привнесена при выпуске версии 3 плагина. Готовя ребрендинг, разработчики переписали большую часть кода и расширили функциональность, добавив использование AJAX при сохранении изменений в настройках Facebook for WordPress.

Это было сделано с целью улучшить интеграцию плагина, однако новая реализация проверки разрешений при переходе в панель управления Facebook Pixel оказалась небезупречной. В итоге открылась возможность подменить настройки, указав на свою консоль, и украсть метрические данные сайта. Чтобы получить такой результат, злоумышленнику придется обманом заставить админа после авторизации выполнить нужное действие — например, совершить переход по ссылке.

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

Уязвимости CSRF / XSS подвержены версии плагина с 3.0.0 по 3.0.3. Разработчик устранил ее в прошлом месяце в два приема; полный патч содержит сборка 3.0.4 (и, разумеется, 3.0.5 — новейшая на данный момент).

Подписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и эксклюзивных материалах по информационной безопасности.