Выявлена скупка плагинов к WordPress для распространения вредоносного кода
19 сентября 2017 года
Плагин "Display Widgets", насчитывающий более 200 тысяч установок, окончательно удалён из каталога плагинов к WordPress после серии инцидентов, в результате которых была осуществлена подстановка вредоносного кода в новые выпуски. Указанный код представлял собой бэкдор, позволяющий владельцам плагина контролировать контент на использующих плагин сайтах и выполнять подстановку своих рекламных блоков. Всем пользователям Display Widgets рекомендуется прекратить использование ветки 2.6.x.
Проблемы начались после того, как автор плагина, заинтересованный в развитии коммерческого аналога, продал "Display Widgets" другому разработчику, который обещал продолжить сопровождение плагина. 21 июня, спустя месяц после завершения сделки, новым владельцем было выпущено обновление 2.6.0, в котором была представлена поддержка средств для определения местоположения по базе GeoIP.
На следующий день после релиза к администраторам каталога плагинов WordPress поступила жалоба о нарушении требований к размещаемым в каталоге дополнениям. В частности, было выявлено, что плагин загружает около 38 Мб данных, содержащих информацию о географической привязке IP-адресов от компании Maxmind. После удаления дополнения из каталога, через неделю новый владелец плагина выпустил обновление, в котором устранил проблему путём интеграции GeoIP БД в основную поставку в виде виде файла geolocation.php. Дополнение было восстановлено в каталоге.
После изучения нового кода вновь было найдено нарушение правил - плагин передавал сведения о посетителях на внешний сервер, нарушая конфиденциальность пользователей. 1 июля дополнение было блокировано второй раз, а 6 июля был выпущен релиз 2.6.2 с активной по умолчанию опцией для отключения отправки логов. Дополнение было восстановлено, но 23 июля стали поступать жалобы о появлении спама на сайтах с плагином "Display Widgets", подтверждённые ссылками на кэш Google.
Разбор проблем показал, что источником спама является файл geolocation.php, в котором оказался спрятан бэкдор, позволяющий владельцам плагина публиковать новый контент на сайтах пользователей, а также заменять или удалять содержимое страниц. При этом для зарегистрированных пользователей и администраторов вредоносный код отображал изначальное содержимое, а для остальных пользователей выводил изменённый контент. Вредоносный код использовался для подстановки сторонней рекламы, незаметно для постоянных пользователей и администраторов сайтов. 24 июля дополнение в третий раз было заблокировано.
2 сентября был сформирован релиз 2.6.3, а 7 сентября возобновились жалобы на появление спама на сайтах пользователей плагина. На жалобы пользователей разработчики отвечали советом почистить кэш браузера, установить новую версию "Display Widgets" и почистить содержимое таблицы wp_options. Разработчики также пытались ввести пользователей в заблуждение, указывая в качестве причины появления спама наличие уязвимости, проявляющейся только при включении режима GEO Location в сочетании с применением других дополнений.
В итоге в новой версии также был выявлен изменённый бэкдор и 8 сентября администрация WordPress в четвёртый раз заблокировала "Display Widgets" с предупреждением о наличии критических проблем с безопасностью, а для пользователей было сформировано обновление 2.7.0 в котором произведён откат на кодовую базу 2.0.5, последнюю версию до продажи.
Стефани Велс (Stephanie Wells), изначальный автор дополнения, прокомментировала, что дополнение было продано Мэйсону Сойза (Mason Soiza) за 15 тысяч долларов, который представлял компанию WP Devs, заявляющую о владении 34 плагинами c аудиторией более 10 млн пользователей. Примечательно, что ранее наблюдалась аналогичная ситуация со спамом в плагине "404 to 301", который тоже купил Сойза. Также была договорённость о покупке плагина Finance Calculator, но его автор отменил сделку, узнав об инциденте с "Display Widgets". Об остальных плагинах, купленных Сойза, пока ничего не известно. Из хостов, с которых загружался вредоносный код упоминаются stopspam.io, w-p.io, geoip2.io и maxmind.io.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.