WordPress.org решили временно закрыть плагин Quick Page/Post Redirect

Команда WordPress Plugins Team временно закрыла плагин Quick Page/Post Redirect из-за того, что в 2020 году его автор внедрил бэкдор, позволяющий обновлять плагин со стороннего сервера, контролируемого злоумышленником, в обход WordPress.org. Этот метод оставался незамеченным более 5 лет.

На этой неделе основатель Anchor Hosting Остин Гиндер опубликовал подробное описание атаки. Он обнаружил, что на 12 сайтах его сети используется модифицированная версия плагина, которая с марта 2021 года скрытно обновлялась с отдельного сервера.

Команда Plugins Team временно закрыла плагин 14 апреля. У него было более 70 000 активных установок.

В ходе своего расследования Гиндер выяснил, что автор Quick Page/Post Redirect под именем anadnet в октябре 2020 года передал в репозиторий WordPress.org код, который встраивал в плагин библиотеку Plugin Update Checker и перенаправлял обновления на anadnet.com вместо WordPress.org. Версии 5.2.1 и 5.2.2, выпущенные через репозиторий WordPress.org, поставлялись с активным самообновлением. В феврале 2021 года автор удалил библиотеку из основной ветки, но существующие установки продолжали обращаться к anadnet.com за обновлениями.

В марте 2021 года сервер обновлений начал распространять версию 5.2.3, которая включала в себя инъекционный хук, получающий обратные ссылки с управляющего домена и передающий их Google-боту втайне от авторизованных администраторов. В конечном итоге управляющий домен перестал работать, и потому бэкдор пребывал в спящем режиме, но он все еще присутствовал на десятках тысяч сайтов.

Модифицированная версия никогда не распространялась через WordPress.org. Владельцы сайтов, установившие плагин из репозитория в 2020 году или в начале 2021 года, автоматически обновлялись до вредоносной версии через собственный механизм обновления плагина, который позволял обойти проверку кода WordPress.org.

Разработчик по имени Нико Мартин опубликовал полный код бэкдора на форуме поддержки плагина в январе 2022 года, напрямую указав на его автора. Однако версия на WordPress.org уже не содержала вредоносного кода – автор его удалил. Через 13 дней WordPress.org закрыл плагин, но не из-за бэкдора, а из-за найденной XSS-бреши. Плагин был вновь доступен через 9 дней после того, как автор внес исправление, устраняющее уязвимость. Проблема с бэкдором так и не была решена.

Гиндер обнаружил бэкдор 11 апреля, когда он провел плановое сканирование безопасности своего сайта. Именно тогда Гиндер обратил внимание, что плагин имеет версию 5.2.3, при этом его файловый хэш не совпадает ни с одной версией, опубликованной на WordPress.org. Анализ измененного файла помог установить как механизм внедрения контента, так и модуль самообновления, указывающий на anadnet.com.

Снэпшоты Internet Archive от мая 2022 года показали, что именно сторонний сервер обновлений распространял вредоносную сборку 5.2.3, при этом метки времени модификаций совпадали с датами установки плагина.

Гиндер сообщил о проблеме команде Plugins Team 12 апреля, и плагин через два дня был временно закрыт (до соответствующей проверки).

Франсиско Торрес, один из представителей Plugins Team, отметил, что Гиндер проделал «фантастическую работу по обеспечению безопасности экосистемы», и подчеркнул, что правильный канал для сообщений об уязвимостях плагинов – это почта plugins@wordpress.org, а не публичные форумы поддержки.

«Команда Plugins Team не отслеживает форумы поддержки», — поделился мнением Торрес. – «Форумы отлично подходят для обратной связи с авторами плагинов, но они не являются каналом для сообщений о проблемах безопасности, и публикация подробностей об уязвимостях может даже навредить, поскольку злоумышленники будут предупреждены».

Торрес отметил, что в каталоге с 2021 года размещалась чистая версия плагина Quick Page/Post Redirect, и команда скоординировала взаимодействие с пострадавшими сайтами, где это было возможно.

Это уже третья атака на цепочку поставок плагинов WordPress.org, о которой сообщил Гиндер за последний месяц. 31 марта он раскрыл, что плагин Widget Logic, насчитывающий более 3 млн загрузок, был приобретен новым владельцем, который заменил его функционал внешним JS-кодом. 9 апреля он рассказал, что покупатель, приобретший 31 плагин на Flippa, установил бэкдор во все решения и активировал его через 8 месяцев.

Источник: https://www.therepository.email

Дмитрий/ автор статьи
CCO, Senior SEM/PPC Specialist, WordPress-энтузиаст, переводчик с английского и немецкого. Серый кардинал русскоязычного WP-комьюнити.
Блог про WordPress
Добавить комментарий

Получать новые комментарии по электронной почте.