Разработчики Rank Math удалили из плагина спорный агент поддержки

Владельцы Rank Math приостановили работу своего агента поддержки, который незаметно создавал пароли приложений WordPress с полными правами администратора и отправлял их на серверы головной компании group.one — без предварительного запроса у пользователей.

В SEO-плагине, который используется более чем на 4 миллионах сайтов, эта функция была добавлена ​​в версии 1.0.277 26 августа. В этом же релизе было исправлено около десятка уязвимостей безопасности, а это значит, что владельцам сайтов, желающим оставаться защищенными, также пришлось принять новый функционал.

Когда администратор сайта, подключенного к бесплатному аккаунту Rank Math, открывал панель «Help & Support» плагина, тот немедленно генерировал пароль приложения (Application Password), привязанный к аккаунту пользователя, и отправлял его в group.one. Пароль наследовал все права доступа пользователя. Для администраторов это означало полный административный доступ.

Создатель SEO Framework, Сибре Вайер, чей SEO-плагин напрямую конкурирует с Rank Math, обратил внимание на это поведение в публикации в X 29 августа, что вызвало волну негативной реакции со стороны разработчиков и владельцев сайтов.

«При открытии раздела „ Help & Support “ создавался и отправлялся пароль приложения до того, как кто-либо принимал условия», — рассказал Вайер. «В версии 1.0.277.2 агент был удален. Пользователям по-прежнему надо проверить раздел „ Users -> Profile -> Application Passwords “ и отозвать все пароли, начинающиеся с „WAP –“. Если разработчики вернут эту функцию, им нужно будет внедрить короткий список разрешенных действий и подтверждение перед каждым изменением».

Вайер рассказал, что обнаружил этот функционал во время проверки, казалось бы, обычного обновления безопасности. «При проверке исходного кода я выявил новую папку, что показалось мне странным для обновления безопасности, — сказал он. — Поэтому я углубился в ее изучение».

Пароль был создан до того, как пользователь смог принять или даже увидеть условия использования Rank Math. Он не истекал, не аннулировался при закрытии вкладки поддержки и не отключался в самом плагине. Пароли приложений WordPress не имеют ограничений по области действия, то есть тот, кто ими обладает, может действовать от имени этого пользователя через REST API, XML-RPC и собственные конечные точки плагина.

31 августа Rank Math выпустили версию 1.0.277.2, убрав из нее агента и добавив опцию очистки для удаления паролей приложений, созданных с помощью этого функционала. В посте в базе знаний компания признала, что ей следовало бы придерживаться более явной политики запроса учетных данных, но описала агент как read-only и заявила, что учетные данные «не хранились на нашей стороне».

Компания представила агент поддержки как «первый шаг к более широкой концепции Agentic SEO, в рамках которой ИИ получает возможность совершать значимые действия на вашем сайте», сигнализируя о планах по созданию агентов с большими возможностями, а не с меньшими.

В последующем посте в X во вторник Вайер опроверг несколько утверждений Rank Math. Он отметил, что прилагательное «зашифрованные», применяемое к учетным данным, означает лишь то, что они были упакованы при передаче, и серверы group.one все еще способны их прочитать, поскольку иначе агент не смог бы функционировать.

Вайер также отметил, что, хотя агент, возможно, был спроектирован как read-only, сам пароль приложения не содержал подобных ограничений. «Тот, кто владеет паролем, может действовать от имени этого пользователя через REST API, XML-RPC и собственный API Rank Math», — написал он. «Украдите ключ — и теперь у вас есть логин».

Согласно посту в базе знаний Rank Math, компания планирует вернуть агента поддержки с переработанным процессом получения согласия. Эстер де Косар, менеджер по партнерским отношениям в WP Media — компании group.one, которой также принадлежит Rank Math, — опубликовала аналогичное заявление в канале сообщества Post Status в Slack во вторник, сообщив, что компания «решила приостановить работу агента ИИ до тех пор, пока мы не добавим явный шаг получения согласия и опции управления разрешениями для пользователей».

Мэтт Мулленвег призывает ввести обязательный аудит безопасности

Соучредитель WordPress и генеральный директор Automattic Мэтт Мулленвег в воскресенье высказал свое мнение в канале #pluginreview в WordPress Slack, призвав к обязательному проведению аудита безопасности для любого плагина, получающему администраторский доступ к сайту.

«Нам необходимо разрешать использование только тех плагинов администрирования и управления, которые прошли аудит безопасности инфраструктуры», — написал Мулленвег. «В отношении продуктов Automattic я уверен. AwesomeMotive, RankMath и другие недавно подвергались взлому».

Он назвал внешние подключения административного уровня от непроверенных плагинов очень  рискованными: «Любые действия по администрированию/обновлениям, которые они выполняют, скорее являются бэкдором для взломщиков, чем сервисом».

Мулленвег призвал к отказу от «устаревших или иных исключений из правил» и заявил, что плагины, не относящиеся к Automattic, по-прежнему могут запускать функции административного уровня, при условии, что они пройдут тот же аудит. «В противном случае мы просто создаём ботнеты на дорогостоящих, хорошо связанных аккаунтах по всему интернету», — написал он.

Представитель команды разработчиков плагинов WordPress Дэвид Перес сообщил, что команда встретилась в понедельник, чтобы обсудить выполнение запроса Мулленвега. «Мы находимся на ранней стадии, поэтому я не могу предоставить дополнительную информацию на данный момент», — сказал Перес.

Разные проблемы, одинаковая формулировка

В комментарии Мулленвега в Slack компании Rank Math и Awesome Motive были объединены в группу «недавно взломанных», но эти две ситуации разные.

Awesome Motive действительно была взломана. В июне злоумышленник использовал уязвимость в UpdraftPlus на веб-сайте OptinMonster, украл ключ CDN и передал сайтам измененный JavaScript. Последствия затронули пять брендов Awesome Motive: Uncanny Automator подтвердил кражу данных клиентов, а клиенты MonsterInsights пострадали от фишинговой кампании. Генеральный директор Awesome Motive Сайед Балхи отказался от комментариев.

Rank Math не была взломана, хотя, согласно базе данных Patchstack, в этом году она устранила 5 уязвимостей, включая уязвимость удаленного выполнения кода в версиях до 1.0.276, о которой стало известно за несколько дней до выпуска агента поддержки.

Использование агента поддержки Rank Math было проектным решением — функцией, которая создавала учетные данные администратора и отправляла их на внешний сервер без пользовательского согласия. Это проблема другого рода, хотя более широкий тезис Мулленвега о том, что плагины с внешними подключениями уровня администратора создают поверхность атаки независимо от того, скомпрометирован ли поставщик или просто злоупотребляет своими полномочиями, применим к обоим случаям.

Это тот же аргумент, который Вайер приводил тремя неделями ранее, когда обвинил WPForms от Awesome Motive в аналогичной схеме, и это уже второй раз за месяц, когда он указывает на проблемы с учетными данными администратора в продукте прямого конкурента. В том случае WPForms Lite 2.0.0 передавал токены администратора на внешний сервер во время настройки, не сообщая о подключении. Впоследствии Awesome Motive обновила плагин, добавив раскрытие этой информации.

Собственные плагины Automattic, в первую очередь Jetpack, который поддерживает постоянные административные соединения с WordPress.com на миллионах сайтов, не сталкивались с аналогичными инцидентами или разоблачениями. Но предложенный Мулленвегом режим аудита по-прежнему ставит одного и того же человека по обе стороны барьера: Мэтт контролирует WordPress.org, который будет обеспечивать соблюдение этого требования, и Automattic, плагины которого он уже освободил от него.

Один только плагин Rank Math используется на 4 миллионах сайтов. Сколько ещё плагинов создают аналогичные внешние подключения и какие требования к ним предъявит аудит — эти вопросы сейчас решает команда Plugins Team.

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

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