Внимание! Найдена уязвимость в Wordpress. Уязвимость заключается в том что любой недоброжелатель может сбросить пароль администратора блога на Wordpress версии <= 2.8.3 (то есть любых версий на данный момент существующих).
Любой посетитель вашего блога на WordPress может попытаться зайти в админку блога и попытаться набрать пароль. Кроме того он может также нажать ссылку “Забыл пароль”, после чего на e-mail администратора придёт письмо с просьбой подтвердить намерение пересоздать пароль и хитрой ссылкой вида:
http://DOMAIN_NAME.TLD/wp-login.php?action=rp&key=o7naCKN3OoeU2KJMMsag
Обычный пользователь конечно же не сможет прочитать чужого письма, более того, не в состоянии угадать с трёх раз длинный секретный код. Но оказывается проверка кода пропустит ссылку вида:
http://DOMAIN_NAME.TLD/wp-login.php?action=rp&key[]=
И пароль будет сброшен без дополнительного подтверждения. Ничего приятного. Хотя вроде и не смертельно.
В моём представлении
Как спастись
Исправленной версии Wordpress пока нет. Но исправить ситуацию можно вручную.
Достаточно найти в wp-login.php функцию reset_password, в которой найти строчку
1 | if ( empty( $key ) ) |
и заменить на
1 | if ( empty( $key ) || is_array( $key ) ) |
В версиях 2.8.х это должна быть строчка 190. У меня в 2.7.1 это строчка 169.
Кстати всё никак не соберусь обновляться. Подожду, когда версии утрясутся.
Источники
Всё вышенаписанное – это свободный пересказ нижеперечисленных источников
- – здесь лежит багфикс
PS: Если я что-то напутал – поправьте меня.
Посты по теме:
RSS-подписка
Спасибо, завтра займусь.
Спасибо.
Ога… Аналогично…
Спасибо, исправлю
На самом деле классная дыра, как её только не углядели
А вроде про 2.8.3 что-то писали, что она как раз это фиксит? Я, правда, мельком по заголовкам сделал такой вывод. Или все же не прав?
wordpress какбэ намекает, что уже выпущен 2.8.4 фиксящий эту багу.
@ zeleboba:
Баг свежий. Буквально вчерашний. По-любому не успевают
@ qosys:
Кстати в одном заброшенном непропаченом 2.7.1 я не смог воспроизвести сброс пароля.
O_O
@ Накукрыскин:
и правда =) в админке еще предлагает 2.8.3, но в новостях в админке уже 2.8.4 трубят =) Пойду обновляться.
Баги не пропускают – их порождают те же программисты.
Как с такими руками вообще писать код можно…