На этой неделе разработчики WordPress были вынуждены пойти на крайние меры и предпринять весьма редкий шаг: они принудительно обновили плагин Loginizer для всех пользователей до версии 1.6.4.

Loginizer — один из наиболее популярных плагинов для WordPress (более 1 000 000 установок), который призван улучшить безопасность страницы входа в WordPress. Так, с его помощью можно вносить IP-адреса в черный или белый список, можно добавить поддержку двухфакторной аутентификации или CAPTCHA для блокировки автоматических попыток входа в систему, и так далее.

Серьезную проблему в Loginizer на этой неделе обнаружил ИБ-исследователь Славко Михайлоски (Slavco Mihajloski). Согласно описанию бага, тот представляет собой SQL-инъекцию и связан с работой механизма защиты от брутфорса, который по умолчанию включен для всех сайтов, на которых установлен плагин.

Чтобы эксплуатировать эту уязвимость, злоумышленник должен попытаться войти на сайт, используя заведомо некорректное имя пользователя, куда он может включать операторы SQL. Когда аутентификация не удастся, Loginizer зафиксирует эту неудачную попытку выхода в БД сайта вместе с некорректным именем пользователя. При этом плагин не проводит необходимую очистку имя пользователя и оставляет операторы SQL нетронутыми, что позволяет злоумышленникам добиться выполнения вредоносного кода. Михайлоски пишет, что из-за этого любой неаутентифицированный хакер получает возможность полностью скомпрометировать сайт, работающий под управлением WordPress.

Так как данная уязвимость определенно является одной из наиболее серьезных проблем, обнаруженных в плагинах для WordPress за последние годы, команда безопасности CMS решила принудительно распространить Loginizer версии 1.6.4 на все уязвимые сайты.

Райан Дьюхерст (Ryan Dewhurst), основатель и глава WPScan, рассказал журналистам ZDNet, что функция принудительного обновления плагинов присутствует в кодовой базе WordPress начиная с версии 3.7, выпущенной в 2013 году, однако ее используют крайне редко.

«Уязвимость, которую я лично обнаружил в популярном плагине Yoast SEO WordPress в 2015 году, была исправлена принудительно. Хотя обнаруженная мной проблема была не так опасна, как проблема  в плагине Loginizer. Мне неизвестно о других [случаев принудительного обновления плагинов], но очень вероятно, что были и такие», — говорит Дьюхерст.

Интересно, что разработчик ядра WordPress Сэмюэл Вуд (Samuel Wood) уверяет, что данная функция использовалась «много раз», хотя не уточняет деталей. А в 2015 году другой разработчик WordPress заявлял, что функция принудительного обновления плагинов использовалась только пять раз с момента ее появления в 2013 году.

Нужно сказать, что разработчики WordPress стараются не злоупотреблять этой функцией не без причины. Так, после принудительного обновления Loginizer 1.6.4 пользователи немедленно начали жаловаться и возмущаться на форуме плагина в репозитории WordPress.org. Авторы гневных комментариев недоумевают, каким образом плагин  мог обновиться даже при отключенном автообновлении.

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

1 комментарий

  1. Аватар

    miradmin

    22.10.2020 в 12:33

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

Оставить мнение