CVE-2024-10924 Обход аутентификации плагина WordPress Really Simple Security
WordPress — это одна из самых популярных систем управления контентом (CMS) в мире, которая позволяет создавать и управлять веб-сайтами без необходимости глубоких знаний в программировании. Основанная в 2003 году как платформа для ведения блогов, WordPress со временем превратилась в мощный инструмент для разработки сайтов любого уровня сложности — от личных блогов и портфолио до интернет-магазинов и корпоративных порталов.
Основанная в 2003 году как платформа для ведения блогов, WordPress со временем превратилась в мощный инструмент для разработки сайтов любого уровня сложности — от личных блогов и портфолио до интернет-магазинов и корпоративных порталов.
Открытый исходный код, активное сообщество разработчиков и тысячи доступных тем и плагинов делают WordPress гибкой и масштабируемой платформой. Благодаря интуитивно понятному интерфейсу, она подходит как новичкам, так и профессионалам, обеспечивая удобное редактирование контента и настройку внешнего вида сайта.
Сегодня более 40% всех сайтов в интернете работают на WordPress, что подчеркивает ее универсальность, надежность и востребованность среди пользователей по всему миру.
Несмотря на популярность и широкие функциональные возможности, WordPress остается одной из наиболее часто атакуемых CMS в мире. Это связано не столько с изначальной уязвимостью самой платформы, сколько с ее архитектурой, огромным числом сторонних расширений и нередко — с ошибками конфигурации со стороны пользователей.
Основной источник угроз для WordPress — сторонние плагины и темы. Многие из них создаются без должного внимания к безопасности, и при этом остаются без поддержки или обновлений. Устаревшие или плохо реализованные модули часто становятся «точками входа» для атак.
«Из коробки» WordPress не обеспечивает высокую степень защиты: не активированы средства защиты от перебора паролей, отсутствует встроенная двухфакторная аутентификация, а конфигурационные файлы могут быть доступны при неправильной настройке сервера.
WordPress-сайты регулярно подвергаются SQL-инъекциям, XSS-атакам, внедрению вредоносных скриптов и загрузке шеллов через уязвимости в плагинах или темах. Кроме того, автоматизированные скрипты (боты) систематически сканируют публично доступные ресурсы на базе WordPress с целью выявления известных уязвимостей и последующего проведения массовых атак.
Суть уязвимости
Плагины Really Simple Security (Free, Pro и Pro Multisite) для WordPress версий от 9.0.0 до 9.1.1.1 подвержены уязвимости, позволяющей обойти аутентификацию.
Эта проблема возникает из-за неправильной обработки ошибок в функции check_login_and_get_user, используемой в двухфакторных действиях REST API.
В результате злоумышленники, не прошедшие аутентификацию, потенциально могут войти в систему под именем любого существующего пользователя, включая администраторов, если включена функция «Двухфакторная аутентификация» (по умолчанию отключена). Что и позволяет злоумышленнику обойти механизм двухфакторной аутентификации и войти на сайт под любым существующим пользователем, включая администратора, без ввода пароля или кода подтверждения.
Порядок действий
Отправим HTTP-запрос к следующему ресурсу: /wp-admin/profile.php:

В ответ сервер укажет, что у нас нет доступа к странице администрирования:

Передаем параметр rest_route POST-запросом с путём как на скриншоте:

Добавляем Cookie, который получили в ответе сервера ранее:

Теперь условный злоумышленник имеет права администратора!
Рекомендации по защите
- Установите плагин-брандмауэр, например:
— Wordfence
— iThemes Security - Ограничьте доступ к /wp-login.php по IP (через .htaccess или плагин).
<Files wp-login.php>
Order Deny,Allow
Deny from all
Allow from 123.45.67.89
</Files> - Обновление плагина до версии 9.1.2 или выше
- Отключение 2-х факторной аутентификации (временная мера)
Уязвимость CVE-2024-10924 в WordPress подчеркивает важность регулярных обновлений и обеспечения безопасности на всех уровнях веб-приложений. Злоумышленники могут использовать эту уязвимость для выполнения атак, которые могут привести к утечке данных, компрометации систем или получению несанкционированного доступа. Это еще раз напоминает о том, как важно своевременно обновлять ядро системы, плагины и темы, а также соблюдать принципы безопасной разработки и настройки.
Хотя данная уязвимость была обнаружена в 2024 году и уже была выпущена фиксация, пользователи должны быть особенно внимательны к безопасности своих сайтов, следить за обновлениями и применять дополнительные меры защиты, такие как использование WAF (файерволов для веб-приложений), регулярное резервное копирование и настройку мониторинга.
Вместо послесловия
Безопасность WordPress — это комплексная задача, требующая активного участия администраторов и разработчиков. Только в случае регулярных усилий по усилению безопасности, а также соблюдения лучших практик можно минимизировать риски и защитить сайт от угроз, таких как CVE-2024-10924.