Информацията по-долу е предназначена за програмисти на приложения с уязвимост от изпълняване на скриптове между сайтове (XSS) въз основа на файл.
Какво се случва
Едно или повече от приложенията ви съдържат уязвимост от изпълняване на скриптове между сайтове въз основа на файл, която трябва да бъде премахната. Моля, вижте известието в профила си в Play Console. След крайните срокове, показани в Play Console, всички приложения с неотстранени уязвимости в сигурността може да бъдат премахнати от Google Play.
Изисква се действие
- Влезте в профила си в Play Console и преминете към секцията „Сигнали“, за да видите засегнатите приложения и крайните срокове за решаване на тези проблеми.
- Актуализирайте засегнатите приложения и отстранете уязвимостта.
- Изпратете актуализираните версии на засегнатите приложения.
При повторно изпращане приложението ви ще бъде прегледано отново. Този процес може да отнеме няколко часа. Ако приложението премине проверката и бъде публикувано успешно, няма нужда да правите нищо повече. В противен случай новата му версия няма да бъде публикувана и ще получите известие по имейл.
Допълнителни подробности
Компонентите WebView
, в които setAllowFileAccessFromFileURLs
или setAllowUniversalAccessFromFileURLs
за WebSettings
се извикват с параметър true, не бива да зареждат ненадеждно уеб съдържание. Това включва и такова от надеждни домейни, което се зарежда през HTTP. Злонамерените мрежи или уеб съдържание могат да инжектират скриптове, които да пренасочат WebView към злонамерен локален файл и да стартират атака с изпълняване на скриптове между сайтове с цел достъп до частни локални файлове или „бисквитки“.
Трябва да предотвратите тази уязвимост по един от следните начини:
- Уверете се, че компонентите WebView нямат опасни настройки.
- Уверете се, че компонентите WebView не могат да зареждат локални файлове, нито да изпълняват JavaScript.
- Уверете се, че компонентите WebView с опасни настройки не зареждат ненадеждно уеб съдържание.
1. Как да се уверите, че компонентите WebView нямат опасни настройки
Актуализирайте атрибута android:targetSdkVersion
в манифеста така, че стойността му да бъде поне 16, за да използвате безопасни стандартни настройки за WebView. В противен случай извикайте setAllowFileAccessFromFileURLs(false)
и setAllowUniversalAccessFromFileURLs(false)
, за да осигурите безопасността на съответните компоненти WebView.
2. Как да се уверите, че компонентите WebView не могат да зареждат локални файлове, нито да изпълняват JavaScript
Извикайте setAllowFileAccess(false)
, за да избегнете зареждането на локални файлове от компоненти WebView с опасни настройки, или извикайте setJavaScriptEnabled(false)
, за да предотвратите изпълняването на JavaScript код от такива компоненти.
3. Как да се уверите, че компонентите WebView с опасни настройки не зареждат ненадеждно уеб съдържание
Ако е необходимо компонент WebView да активира опасни настройки, трябва да се уверите, че той не зарежда ненадеждно уеб съдържание. Това включва уеб съдържание, зареждано през HTTP. В манифеста
можете да зададете атрибут android:usesCleartextTraffic=false или да посочите Network Security Config, който не разрешава трафик през HTTP. Можете също така да се погрижите компонентите WebView с опасни настройки да не зареждат URL адреси със схема HTTP.
Трябва също да се уверите, че компонентите WebView с опасни настройки не зареждат URL адреси, получени от ненадеждни източници.
На ваше разположение сме
Ако имате технически въпроси относно уязвимостта, можете да ги публикувате в Stack Overflow и да използвате маркера android-security. За разяснение на стъпките, които трябва да изпълните, за да решите проблема, можете да се свържете с екипа ни за поддръжка за програмисти.