Что, если расширение Chrome могло бы показывать ваши пароли и извлекать их из исходного кода веб-сайта? Исследователи из Университета Висконсин-Мэдисон недавно поделились с Интернет-магазином Chrome доказательством концепции, показывающей, как пароли пользователей могут быть успешно украдены из исходного кода веб-сайта.
Исследователи обнаружили, что браузер Chrome имеет больше привилегий, чем следовало бы, благодаря более широкой модели разрешений, которая позволяет расширениям извлекать данные из полей ввода. Это было обнаружено после анализа полей ввода текста веб-браузеров.
Они обнаружили, что популярные веб-сайты с миллионами посетителей, такие как Gmail, Facebook и Amazon, хранят пароли в виде обычного текста в HTML-коде своих страниц. Это позволяет расширениям видеть, какие пароли вводил пользователь.
По мнению исследователей, этим расширениям предоставляется неограниченный доступ к деревьям DOM веб-сайтов, что позволяет этим инструментам оценивать содержимое полей ввода текста вместе с исходным кодом страницы. Во время этого процесса между расширением и кодом веб-сайта не существует буфера.
Эти расширения также могут извлекать текст, когда человек его печатает, манипулируя DOM API. Таким образом, все попытки безопасности веб-сайта исключаются, а весь конфиденциальный текст, включая пароли, остается открытым.
Google недавно запустил протокол Manifest V3 для расширений Chrome, который предназначен для ограничения злоупотреблений API, предотвращения произвольного выполнения кода и запрета расширениям использовать удаленные коды во избежание обнаружения. Исследователи утверждают, что это по-прежнему не обеспечивает никакой защиты между расширениями и веб-страницами, что делает скрипты контента уязвимыми.
Чтобы оценить, пройдет ли потенциально опасное расширение процесс проверки Google, исследователи создали и загрузили тестовый образец в Интернет-магазин Chrome, следуя инструкциям помощника ChatGPT.
Поскольку это расширение не содержало вредоносного кода или кода из внешних источников, Manifest V3 на него не отреагировал и Google разрешил загрузку его в свой магазин. Как сообщает TechRadar, исследователи на самом деле не похищали никаких пользовательских данных в ходе эксперимента. Также исследователи оставили расширение неопубликованным и удалили его из магазина, как только оно было одобрено.
По данным исследователей, более тысячи самых популярных веб-сайтов в мире хранят пароли пользователей в виде обычного текста как часть исходного кода HTML. Кроме того, 7300 сайтов уязвимы для доступа к DOM API, что делает возможным прямое извлечение пользовательских данных.
Кроме того, они заявили, что примерно 17 300 (12,5%) расширений Chrome могут извлекать эту конфиденциальную информацию с помощью разрешений, предоставленных им Google. Представитель Google сообщил Bleeping Computer, что они изучают этот вопрос.