В популярном менеджере паролей LastPass пропатчены три уязвимости, грозившие кражей паролей. Бреши, о которых разработчику сообщил Тэвис Орманди (Tavis Ormandy) из Google Project Zero, были закрыты в течение суток.

Альтернативные меры защиты от эксплойта бага удаленного исполнения кода были приняты на стороне сервера во вторник утром. Патчи для всех затронутых браузерных аддонов вышли в среду в середине дня. После этого Орманди опубликовал твит со ссылками на отчеты о багах, не преминув с удовлетворением отметить оперативность разработчика.

Получив уведомление и PoC (две строки JavaScript) для RCE-бага в расширении Chrome 4.1.42.80, компания поблагодарила исследователя за находку и сразу занялась изучением проблемы. В блог-записи от 22 марта разработчик подтвердил наличие уязвимости во всех LastPass-клиентах, Chrome, Firefox и Edge, пояснив, что она возникла из-за запуска «экспериментальной функции сопровождения новых пользователей».

Орманди со своей стороны пишет в отчете, что виновником появления данной уязвимости являлся websiteconnector.js, который, как оказалось, был способен проксировать неаутентифицированные оконные сообщения расширению. Такая особенность позволяла получить доступ к внутренним RPC-командам (вызова удаленных процедур) LastPass и заставить клиент выполнять их, в том числе копировать пароли и заполнять соответствующее поле веб-форм. В том случае, если у пользователя был установлен LastPass Binary Component, злоумышленник мог также выполнить произвольный код с помощью команды openattach.

Параллельно Орманди обнаружил в LastPass для Firefox уязвимость, тоже позволявшую скомпрометировать все сохраненные пароли, но в этом клиенте, согласно описанию, она была вызвана иной причиной. Список вызовов процедур в Firefox-аддоне совершенно другой, нежели в LastPass для Chrome, и среди них Орманди обнаружил процедуру ResetScript, способную загружать URL, а затем запускать произвольный скрипт на этой странице.

По словам исследователя, это, по сути, работало как UXSS (обход SOP, открывающий возможность для XSS-атаки), позволяя скомпрометировать любой сайт. Однако в данном случае URL открывался из расширения, а значит, позволял также получить пароли из хранилища на lastpass.com.

Третья проблема была обнаружена в Firefox-аддоне сборки 3.3.2; собственно, Орманди установил, что патч для уязвимости слива паролей, объявившейся в 2015 году, работает лишь частично. В результате можно было по-прежнему заставить LastPass-клиент отдать пароль с помощью имитации легитимного сайта.

В блог-записи LastPass сказано, что устаревшая ветка 3.x для Firefox будет снята с поддержки в апреле, однако патч был создан и направлен в Mozilla в составе обновления 3.3.4. Тем не менее пользователям LastPass для Firefox настоятельно рекомендуется перейти на более современную версию.

Обнаруженные Орманди уязвимости в LastPass пропатчены в релизах Firefox 4.1.36, Chrome 4.1.43, Edge 4.1.30 и Opera 4.1.28.

Информация о новых брешах была предана гласности в соответствии с политикой Google Project Zero: исследователи публикуют свои находки через 90 дней после подачи отчета или ранее, если патч вышел и широко доступен. Однако столь скоропостижная публикация деталей озадачила Тода Бирдсли (Tod Beardsley), директора по ИБ-исследованиям в Rapid7.

«Непонятно, зачем Google поторопилась с раскрытием, и 37 часов не прошло после отправки уведомления в LastPass, — недоумевает эксперт. — Проблема не столь серьезна, чтобы столь спешно ее оглашать. Да даже если бы и была, надо было обождать пару дней, чтобы лучше скоординировать раскрытие».

Как бы то ни было, это лишь новейшие баги, коих уже некоторое количество на счету LastPass — стараниями Google Project Zero. Так, прошлым летом тот же Орманди поставил разработчику на вид уязвимость нулевого дня, позволявшую угнать все аккаунты пользователя. Эта брешь тоже была оперативно закрыта.

Категории: Аналитика, Уязвимости