Описание одной из найденных уязвимостей, позволяющей выполнить произвольный JS код в рамках WebView и в некоторых особенно запущенных случаях получить доступ к привилегированным API-интерфейсам, предоставляемых приложением.

Сработало интересное поведение WebView, которое при настройке по умолчанию, запрещает иметь несколько окон, WebSettings.setSupportMultipleWindows(). Такая настройка позволяет из iframe обходить политику Same-Origin и выполнять произвольный JavaScript сразу на вашей странице.

Эта уязвимость затрагивает приложения, которые используют WebView с настройками по умолчанию и которые работают в системах с версией Android WebView до 83.0.4103.106.

Как защититься, если не уверены, что работаете на пропатченной версии:
1. Включите поддержку нескольких окон (WebSettings.setSupportMultipleWindows() установить в true). При этом поведение и внешний вид может остаться аналогичным и незаметным для пользователя.

2. Загружаете в WebView только доверенный контент со своих серверов.

Интересная находка, которая затрагивает сразу и приложения, использующие WebView и сами браузеры.

Пора автоматизировать и на h1?

stingray-subscribe-btn1