Устранение уязвимости перед межсайтовым скриптингом

Эта информация предназначена для разработчиков, чьи приложения уязвимы перед File-based Cross-Site Scripting (межсайтовым скриптингом на основе файлов).

Общая информация

Одно или несколько ваших приложений уязвимы перед межсайтовым скриптингом на основе файлов. Вам необходимо принять меры до даты, указанной в Play Console. После нее приложения, содержащие уязвимости, могут быть удалены из Google Play.

Необходимые действия

  1. Чтобы узнать, какие приложения уязвимы и как скоро нужно устранить проблему, войдите в Play Console и откройте раздел "Оповещения".
  2. Обновите приложения и устраните уязвимость.
  3. Опубликуйте обновленные версии приложений.

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

Сведения об уязвимости

Классы WebView, у которых в параметре WebSettings установлено значение True для setAllowFileAccessFromFileURLs или setAllowUniversalAccessFromFileURLs, не должны загружать ненадежный контент. К нему относятся в том числе данные с надежных доменов, которые загружаются по протоколу HTTP. Из-за опасного контента или сетей может произойти внедрение скриптов, которые перенаправят WebView на вредоносный локальный файл и начнут атаку с использованием межсайтового скриптинга, нацеленную на локальные файлы или файлы cookie.

Уязвимость можно исключить одним из следующих способов:

  1. Убедитесь, что настройки WebView безопасны.
  2. Убедитесь, что WebView не может загружать локальные файлы или выполнять коды JavaScript.
  3. Убедитесь, что WebView с опасными настройками не может загружать контент из ненадежных источников.

1. Убедитесь, что настройки WebView безопасны

Задайте для атрибута android:targetSdkVersion в манифесте значение не меньше 16. Ещё один способ обеспечить безопасность настроек WebView – выполнить setAllowFileAccessFromFileURLs(false) и setAllowUniversalAccessFromFileURLs(false).

2. Убедитесь, что WebView не может загружать локальные файлы или выполнять коды JavaScript

Выполните setAllowFileAccess(false), чтобы помешать WebView с опасными настройками загружать локальные файлы, или setJavaScriptEnabled(false), чтобы запретить выполнение кодов JavaScript.

3. Убедитесь, что WebView с опасными настройками не может загружать контент из ненадежных источников

Если вам необходимо включить опасные настройки WebView, убедитесь, что загрузка контента из ненадежных источников отключена. Это касается в том числе всех данных, загружаемых по протоколу HTTP. Установите значение android:usesCleartextTraffic=false или настройте конфигурацию сетевой безопасности в манифесте, запретив HTTP-трафик. Ещё один способ – удостовериться, что ни один класс WebView с опасными настройками не загружает URL с использованием схем HTTP.

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

Мы всегда рады помочь!

Если у вас есть вопросы, задайте их, используя тег android-security. Чтобы получить более подробные разъяснения, свяжитесь с командой поддержки для разработчиков.

Эта информация оказалась полезной?

Как можно улучшить эту статью?
false
Главное меню
15608262337201855974
true
Поиск по Справочному центру
false
true
true
true
true
true
5016068
false
false
false
false
false