В популярном плагине WP-SlimStat для WordPress обнаружена опасная уязвимость, которая подвергает риску SQL-атаки 1,3 млн сайтов, где установлен этот плагин. Уже вышла пропатченная версия WP-SlimStat 3.9.6. Её всем рекомендуется установить в обязательном порядке.
WP-SlimStat предназначен для выдачи аналитики по посетителям блога. Как объясняют исследователи из Sucuri, в плагине есть секретный ключ для подписи данных, которые передаются клиенту и от него. Оказалось, что при генерации ключа в качестве «случайного» значения используется время установки плагина (timestamp).
Очевидно, что это совсем не «случайное» значение и его не слишком сложно подобрать. С помощью архивных копий сайта (например, в Internet Archive) можно узнать год запуска сайта, после чего остаётся всего около 30 млн возможных комбинаций «случайного» значения, то есть 10 минут работы на современном CPU.
Чтобы иметь материал для брутфорса, требуется получить только валидные и подписанные данные от плагина. Их несложно найти в разных фрагментах сгенерированных веб-страниц.
Узнав секретный ключ, злоумышленник может использовать его для SQL-инъекций через внедрение произвольного кода в unserialize(), который затем передаётся в функцию maybe_insert_row() через переменную $content_info.
Таким образом, мы получаем доступ к всему содержимому базы данных.