Эта информация предназначена для разработчиков, чьи приложения уязвимы к внедрению зависимостей в код JavaScript.
Что происходит
Вам необходимо принять меры до даты, указанной в Play Console. После нее приложения, содержащие уязвимости, могут быть удалены из Google Play.
Что нужно сделать
- Чтобы узнать, какие приложения уязвимы и как скоро нужно устранить проблему, войдите в Play Console и откройте раздел "Оповещения".
- Устраните уязвимость и обновите затронутые ей приложения.
- Опубликуйте обновленные версии приложений.
После этого мы проведем повторную проверку, которая может занять несколько часов. Если уязвимость устранена и вы видите, что приложение опубликовано, дополнительных действий не потребуется. Если проблема не решена, новая версия не будет опубликована и вы получите уведомление по электронной почте.
Сведения об уязвимости
Этой уязвимости подвержены компоненты WebView, которые добавляют объекты на уровне приложений в код JavaScript с помощью метода addJavascriptInterface и загружают ненадежный веб-контент. В результате могут быть активированы методы с примечанием @JavascriptInterface, что приведет к повреждению или утечке данных, а также к выполнению произвольного кода.
Вы можете устранить уязвимость одним из приведенных ниже способов.
Вариант 1. Убедитесь, что компоненты WebView не добавляют объекты в интерфейс JavaScript
Убедитесь, что в интерфейсе JavaScript компонентов WebView, загружающих ненадежный веб-контент, нет новых объектов. Это можно сделать двумя способами:
Исключите вставку объектов с помощью метода addJavascriptInterface.
-
Удалите объекты из интерфейса JavaScript в shouldInterceptRequest, используя метод removeJavascriptInterface, до загрузки ненадежного контента.
Вариант 2. Исключите загрузку ненадежного контента WebView
Если ваше приложение добавляет объекты в интерфейс JavaScript компонента WebView, убедитесь, что WebView не использует для загрузки веб-контента незашифрованное подключение. Задайте для атрибута android:usesCleartextTraffic значение false или настройте в манифесте конфигурацию Network Security Config, запретив загружать данные по протоколу HTTP. Также вы можете проверить, что ни один класс WebView не загружает контент с использованием схем HTTP через метод loadUrl.
Убедитесь, что WebView с интерфейсом JavaScript не загружают контент из ненадежных источников (например, URL из ненадежных намерений).
Мы всегда готовы помочь
Если у вас есть вопросы, задайте их, используя тег android-security. Чтобы получить более подробные разъяснения, свяжитесь с командой поддержки для разработчиков.