В All in One SEO Pack, одном из самых распространённых плагинов для WordPress, обнаружена опасная уязвимость. Она позволяет внедрять вредоносный код в панель администратора и похищать пароли за счёт межсайтового скриптинга. Хотя ошибка уже исправлена, огромное множество сайтов по-прежнему использует уязвимую версию плагина.
All in One SEO Pack добавляет в WordPress функции, которые делают сайт более привлекательным для поисковиков. Согласно официальному каталогу плагинов, количество сайтов, на которые он установлен, превышает миллион.
Проблема связана встроенным в All in One SEO Pack блокировщиком ботов (Bot Blocker). Блокировщик ботов следит за тем, как поисковые системы индексируют страницы сайта. Он сохраняет в специальном журнале информацию о каждом поисковом боте, заглянувшем на сайт. Пользователь может посмотреть этот журнал и запретить некоторым поисковикам индексировать сайт.
По умолчанию эта функция отключена.
Специалист по информационной безопасности Дэвид Ваартес заметил, что блокировщик ботов записывает в свой журнал параметры User Agent и Referrer делаемых ботами HTTP-запросов, но не проверяет их значения.
Для эксплуатации этой уязвимости злоумышленник должен сделать запрос от имени одного из заблокированных ботов и добавить в конце строк User Agent и Referrer произвольный HTML и Javascript. Когда пользователь откроет журнал блокировщика, добавленный злоумышленником код окажется встроен в страницу администраторской панели и будет исполнен браузером.
Воспользовавшись этим, злоумышленник может внедрить в администраторскую панель Javascript, похищающий содержимое cookie, которые WordPress использует для идентификации пользователей, и за счёт этого захватить сессию одного из администраторов сайта.
Уязвимость исправлена в All in One SEO Pack 2.3.7 и более поздних версиях плагина.