Эксперты компании Wordfence обнаружили опасную CSRF-уязвимость (CVE-2020-8417) в составе популярного плагина Code Snippets, предназначенного для WordPress. По сути, баг позволяет атакующему установить полный контроль над уязвимым ресурсом.
Согласно официальной статистике WordPress, опенсорсный Code Snippets установлен более чем на 200 000 сайтов. Плагин предназначен для запуска сниппетов PHP сайтах WordPress, а также предоставляет для управления ими удобный графический интерфейс, похожий на меню Plugins.
Уязвимость позволила злоумышленникам подделывать запросы от имени администратора и внедрять код на уязвимые сайты, что в итоге вело к удаленному выполнению произвольного кода на сайтах с уязвимыми версиями Code Snippets. Атакующий получал возможность создать новую учетную запись администратора, получал доступ к конфиденциальным данным, мог атаковать посетителей ресурса и так далее.
Исследователи рассказывают, что в целом разработчик плагина неплохо продумал безопасность, защитив почти все эндпоинты при помощи WordPress nonces, однако функция импорта такой защитой от CSRF не обладала. Таким образом, атакующий мог вынудить администратора заразить собственный сайт с помощью специально подготовленного вредоносного запроса.
В настоящее время проблема CSRF-RCE была устранена с релизом Code Snippets версии 2.14.0. Судя по официальной статистике, примерно 58 000 пользователей уже скачали и установили новейшую версию плагина, а значит, по меньшей мере 140 000 сайтов по-прежнему уязвимы перед атаками. .
Видео, демонстрирующее PoC атаку можно увидеть ниже. Эксплоит исследователи пообещали опубликовать 12 февраля, желая дать пользователям плагина больше времени на установку обновлений.