Разработчики ПО для блогов WordPress выпустили обновление, закрывающее
уязвимость, которая
позволяет атакующим завладевать аккаунтами, сбрасывая пароль администратора.
Баг в версии 2.8.3 очень просто эксплуатировать удаленно – для этого
понадобится лишь браузер и специальным образом составленная ссылка. В обычных
случаях для обработки запроса о сбросе пароля требуется наличие
зарегистрированного адреса электронной почты, однако согласно
этому предупреждению из списка рассылки Full-Disclosure, при использовании
специально составленного URL новый пароль генерируется сразу, без необходимости
подтверждения.
Дыра скрывается в коде PHP, которому из-за ее наличия не удается надлежащим
образом проверить вводимые пользователем при использовании функции сброса
пароля данные. Эксплуатация бага сводится к переходу браузером по ссылке
наподобие этой:
http://domain_name.tld/wp-login.php?action=rp&key[]=
Согласно
документации WordPress, баг был устранен изменением одной-единственной
строки кода. Теперь программа проверяет, не являются ли входные данные массивом,
и если они являются таковым, пользователь получит сообщение об ошибке и должен
будет попытаться еще раз.
На этом все могло бы и закончится, однако исследователи Рафаэль Лос и Майк
Бэйли
публично выразили предположение, что было бы куда разумней внедрить проверку
на то, являются ли входные данные строкой. Эти специалисты полагают, что дыра
была залатана на скорую руку.
Дополнительные подробности и анализ данной проблемы от Sans и Heise доступны
здесь
и
здесь.