Xakep #305. Многошаговые SQL-инъекции
Еще летом 2016 года специалист Google Project Zero Тэвис Орманди (Tavis Ormandy) искренне удивлялся: «Люди правда пользуются этой LastPass-штукой?». Тогда Орманди обнаружил в коде аддона LastPass для Firefox 0-day уязвимость, которая позволяла удаленно скомпрометировать все пароли пользователя.
Теперь, спустя почти год, эксперт вновь решил испытать безопасность LastPass на прочность, и, к сожалению, нельзя сказать, что приложение выдержало эту проверку. Орманди пишет, что обнаружил проблему в официальном расширении LastPass для браузера Chrome. Согласно сообщению исследователя, content_scrip расширения содержит уязвимость, атака на которую может привести к компрометации всех хранящихся в приложении учетных данных. Причем для реализации атаки злоумышленнику нужно только заманить пользователя на вредоносный сайт.
Исследователь объясняет, что скрипт используется только для обращения к определенному домену на lastpass.com, и если посмотреть на его работу поближе, это выглядит так:
Здесь, как отмечает Орманди, и кроется ошибка. Скрипт проксирует неаутентифицированные оконные сообщения расширению, что может представлять опасность, ведь кто угодно может сделать следующее:
Это даст атакующему полный доступ и заставит LastPass выполнять RPC-команды, которых могут быть сотни, но опаснее всего, конечно, возможность копирования и заполнения паролей. В некоторых случаях это и вовсе может привести к выполнению произвольного кода на машине пользователя, через эксплуатацию openattach. В качестве примера Орманди демонстрирует запуск обычного калькулятора (calc.exe).
Разработчики LasPass, судя по всему, уже поправили проблему в Chrome-расширении, отключив 1min-ui-prod.service.lastpass.com. Однако некоторые пользователи отмечают, что для них сервер по-прежнему работает, и уязвимость все еще актуальна. Вероятно, пользователям LastPass для Chrome стоит пока отключить расширение и дождаться выхода полноценного исправления, так как версия 4.1.42, датированная на 14 марта 2017 года, еще была уязвима.
Стоит отметить, что на прошлой неделе Тэвис Орманди нашел еще один очень похожий баг в аддоне LastPass для Firefox. Уязвимость точно так же позволяет извлечь все пароли пользователя, если тот посетит вредоносный сайт.
Wrote a quick exploit for another LastPass vulnerability. Only affects version on https://t.co/lGcefN9YXM (3.3.2), report on way. ¯_(ツ)_/¯ pic.twitter.com/AgjASiQMfJ
— Tavis Ormandy (@taviso) March 16, 2017
Данная проблема до сих пор не исправлена. Разработчики LastPass уже подготовили патч, но исправленная версия 3.3.2 пока проходит рассмотрение специалистов Mozilla. Также авторы LastPass подчеркнули, что ветка 3.x все-таки считается устаревшей, и пользователям рекомендуется перейти на более безопасную ветку 4.x.
Но проблемы LastPass не заканчиваются даже на этом. Сегодня, 22 марта 2017 года, Тэвис Орманди предупредил, что в аддоне LastPass для Firefox содержится еще один баг, позволяющий воровать чужие пароли для любого домена. Причем на этот раз уязвима более современная и безопасная версия 4.1.35. Подробности эксперт обещает обнародовать в ближайшее время.
I found another bug in LastPass 4.1.35 (unpatched), allows stealing passwords for any domain. Full report will be on the way shortly. pic.twitter.com/9VkV7R3vud
— Tavis Ormandy (@taviso) March 21, 2017