В плагине Really Simple Security (ранее Really Simple SSL) для WordPress нашли критическую уязвимость, которая потенциально может привести к полной компрометации 4 000 000 сайтов. Специалисты Defiant, обнаружившие баг, предупредили, что это одна из самых серьезных уязвимостей, выявленных ими за всю 12-летнюю историю работы.
Плагин Really Simple Security используется на четырех миллионах сайтов под управлением WordPress. С его помощью администраторы могут добавлять различные защитные функции, включая настройку SSL, двухфакторную аутентификацию, дополнительную защиту при входе, обнаружение уязвимостей и многое другое.
Уязвимость получила идентификатор CVE-2024-10924 (9,8 балла по шкале CVSS) и представляет собой обход аутентификации, который позволяет неавторизованному злоумышленнику войти в систему под видом любого пользователя сайта, включая администратора.
CVE-2024-10924 затрагивает Really Simple Security версий от 9.0.0 до 9.1.1.1, причем уязвимы как бесплатная версия, так и версии Pro и Pro Multisite.
По данным аналитиков Defiant, уязвимость возникает из-за некорректной обработки аутентификации пользователей и небезопасной реализации функций, связанных с REST API. В частности, ошибка проявляется, если включена двухфакторная аутентификация (2FA). Хотя по умолчанию она отключена, многие администраторы разрешают ее использование для усиления безопасности.
Исследователи объясняют, что функция check_login_and_get_user() верифицирует пользователей, используя параметры user_id и login_nonce. Но в случае если login_nonce недействителен, запрос не отклоняется, и вместо этого вызывается authenticate_and_redirect(), которая аутентифицирует пользователя только на основе user_id. В результате пользователь проходит аутентификацию просто на основе предоставленного ID.
Разработчиков Really Simple Security уведомили о проблеме 6 ноября, а 12 ноября и 14 ноября они выпустили исправления для бесплатной и Pro версий плагина.
Учитывая серьезность ситуации разработчики и команда WordPress.org принудительно распространяют исправленную версию Really Simple Security 9.1.2 среди пользователей. Но всем администраторам сайтов, использующих плагин, рекомендуется убедиться, что они точно перешли на безопасную версию.
Согласно официальной статистике, порядка 3 500 000 сайтов, на которых установлен Really Simple Security, могут быть по-прежнему уязвимы для атак.