Команда WordPress пошла на крайние меры для исправления уязвимости в плагине
Команда безопасности WordPress пошла на экстренные меры и воспользовалась малоизвестной внутренней функцией для принудительного обновления популярного плагина. Так, сайты с плагином Loginizer принудительно получили обновленную версию 1.6.4, содержащую исправления для шести уязвимостей, позволяющих осуществить SQL-инъекцию и захватить управление сайтом.
Плагин обеспечивает усиление безопасности страниц авторизации на WordPress-сайтах. Согласно официальному описанию, Loginizer способен блокировать доступ к страницам авторизации IP-адресам из черных списков, добавлять поддержку двухфакторной аутентификации, добавлять CAPTCHA и пр. В настоящее время Loginizer является одним из самых популярных WordPress-плагинов - он установлен на более 1 млн сайтов.
На этой неделе исследователь безопасности Славко Махайлоски (Slavco Mihajloski) обнаружил в плагине опасные уязвимости. Проблема связана с реализованном в Loginizer механизмом защиты от брутфорс-атак, активированном по умолчанию. Для того чтобы ее проэксплуатировать, злоумышленник может попытаться авторизоваться на WordPress-сайте с помощью вредоносного имени пользователя, включающего инструкции SQL. Когда процесс авторизации срывается, Loginizer записывает попытку авторизации в базу данных сайта вместе с именем пользователя.
Плагин должным образом не проверяет имя пользователя и оставляет инструкции SQL нетронутыми, позволяя удаленному атакующему запускать код для атаки на базу данных WordPress (осуществлять SQL-инъекции).
Уязвимость является одной из самых серьезных уязвимостей в плагинах WordPress за последние несколько лет, в связи с чем команда безопасности WordPress пошла на крайние меры и принудительно установила обновление. Функция принудительной установки обновлений присутствует в кодовой базе WordPress еще с версии 3.7, выпущенной в 2013 году, но используется крайне редко.