Бэкдор в обновлении Smart Slider 3 Pro: шесть часов, которые поставили под удар сотни тысяч сайтов

7 апреля 2026 года через официальные серверы обновлений компании Nextend была распространена троянизированная версия популярного WordPress- и Joomla-плагина Smart Slider 3 Pro. Версия 3.5.1.35 содержала многослойный бэкдор, и прежде чем атаку обнаружили и вредоносный пакет убрали, прошло примерно шесть часов. Для контекста: у Smart Slider 3 больше 800 000 активных установок, если считать бесплатную и Pro-редакции вместе. Пострадала только Pro-версия, бесплатная не затронута.
Бэкдор в обновлении Smart Slider 3 Pro: шесть часов, которые поставили под удар сотни тысяч сайтов
Изображение носит иллюстративный характер

Компания Patchstack, специализирующаяся на безопасности WordPress, проанализировала инцидент и назвала его «классической атакой на цепочку поставок». Суть в том, что вредоносный код пришёл через доверенный канал — штатную систему обновлений Nextend. Это значит, что стандартные защитные механизмы сайтов — файрволы, проверка nonce-токенов, контроль ролей — были бесполезны. Плагин обновлялся как обычно, администратор мог даже не заметить подвоха.
Начинка бэкдора оказалась не банальным веб-шеллом, а продуманным набором инструментов с несколькими уровнями закрепления. Прежде всего, вредонос умел исполнять произвольный PHP-код и команды операционной системы сервера удалённо, через HTTP-заголовки и скрытые параметры запросов. Фактически атакующий получал полный контроль над сервером.
Отдельно стоит упомянуть скрытую учётную запись администратора. Плагин создавал аккаунт с именем вроде wpsvc_a3f1 и тут же прятал его от глаз настоящих администраторов, модифицируя WordPress-фильтры pre_user_query и views_users. То есть в панели управления этот пользователь просто не отображался. Обнаружить его можно было только при прямом просмотре базы данных.
Закрепление в системе шло сразу в трёх местах. Первое — must-use плагин с именем object-cache-helper.php, маскирующийся под вспомогательный компонент кеширования. Второе — вставка вредоносного кода в файл functions.php активной темы. Третье — файл class-wp-locale-helper.php, подброшенный в директорию wp-includes, то есть прямо в ядро WordPress. Даже если администратор удалял одну из закладок, две оставшиеся продолжали работать.
Собранные данные плагин отправлял на командный сервер с доменом wpjs1[.]com. Список утекавшей информации впечатляет: URL сайта, имя хоста, секретный ключ бэкдора, версии Smart Slider 3, WordPress и PHP, e-mail администратора WordPress, имя базы данных, логин и пароль скрытого аккаунта в открытом виде, а также перечень всех установленных точек закрепления. По сути, атакующий получал полную карту скомпрометированного сайта.
Для обнаружения заражения Patchstack выделила несколько индикаторов компрометации — это кастомные записи в таблице wp_options с отключённым флагом autoload (чтобы не светиться при стандартном дампе опций). Среди них: _wpc_ak (секретный ключ аутентификации), _wpc_uid (ID скрытого админа), _wpc_uinfo (base64-закодированный JSON с логином, паролем и e-mail подставного аккаунта), а также _perf_toolkit_source и wp_page_for_privacy_policy_cache.
Nextend после обнаружения инцидента отключила серверы обновлений, удалила версию 3.5.1.35 Pro и запустила внутреннее расследование. Чистая версия — 3.5.1.36 — уже доступна.
Тем, кто успел установить заражённую версию, одного обновления мало. Нужно вручную удалить файлы object-cache-helper.php, class-wp-locale-helper.php и вычистить вредоносные вставки из functions.php. Из wp-config.php надо убрать строку define('WP_CACHE_SALT', '<token>');, а из .htaccess в корне WordPress — строку WPCacheSalt <token>. В базе данных из таблицы wp_options следует удалить все пять перечисленных выше записей.
После очистки файлов и базы необходимо сменить пароли: администраторские аккаунты WordPress, пароль к базе данных, учётные данные FTP/SSH и пароль от хостинг-аккаунта. Кроме того, стоит просмотреть логи на предмет подозрительных POST-запросов и несанкционированных изменений, включить двухфакторную аутентификацию для всех администраторов и запретить выполнение PHP в директории uploads. Шесть часов — это немного, но для автоматического обновления плагина на тысячах сайтов вполне достаточно.


Новое на сайте

19795Как Google в Chrome 146 привязала сессии к железу и обесценила украденные куки? 19794Бэкдор в обновлении Smart Slider 3 Pro: шесть часов, которые поставили под удар сотни... 19793Зачем древние корейцы приносили людей в жертву и вступали в близкородственные браки? 19792Уязвимость в EngageLab SDK поставила под удар 50 миллионов Android-устройств 19791Гражданская война шимпанзе в Уганде 19790Кибершпионы UAT-10362 охотятся на тайваньские нко с помощью малвари LucidRook 19789Телескоп Джеймса Уэбба обнаружил галактику-«ската» в скоплении MACS J1149 19788Комета MAPS сгорела в солнечной короне и вылетела облаком обломков 19787Кто стоит за кибератаками на журналистов ближнего Востока и зачем Индии понадобилась... 19786Теневой ИИ в компаниях: угроза, которую не видят безопасники 19785Почему NASA спокойно относится к проблеме с теплозащитным экраном Artemis II? 19784Шифрование видео, которое не сломает даже квантовый компьютер 19783Западу США грозит аномально опасный сезон пожаров 19782Белок, который не должен убивать: как одна гипотеза перевернула биологию 19781Серебряная монета XVI века указала на затерянную испанскую колонию у магелланова пролива
Ссылка