Як усунути вразливість File-based XSS

Ця інформація призначена для розробників додатків, які містять уразливість File-based Cross-Site Scripting.

Що нового

Один або кілька ваших додатків містять уразливість File-based Cross-Site Scripting. Проблему потрібно вирішити до дати, указаної в сповіщенні в Play ConsoleЯкщо цього не зробити, додатки з уразливими елементами може бути видалено з Google Play.

Що потрібно зробити

  1. В обліковому записі Play Console перейдіть у розділ "Сповіщення" й перегляньте, у яких додатках є проблеми й до якої дати їх потрібно вирішити.
  2. Оновіть указані додатки й усуньте вразливі елементи.
  3. Надішліть оновлені версії цих додатків.

Коли ви надішлете оновлені версії, ми знову перевіримо їх. Це може тривати кілька годин. Якщо додаток буде успішно перевірено й опубліковано, більше нічого не потрібно робити. Якщо додаток не пройде перевірку, його нову версію не буде опубліковано, а ви отримаєте сповіщення електронною поштою.

Додаткова інформація

Якщо в класі WebView у параметрі WebSettings для setAllowFileAccessFromFileURLs або setAllowUniversalAccessFromFileURLs указано значення true, потрібно заборонити завантаження ненадійного вмісту. Це, зокрема, стосується даних із надійних доменів, які завантажуються за протоколом HTTP. Через небезпечний вміст або мережі можуть вставлятися сценарії, які переспрямовують WebView на шкідливий локальний файл і запускають атаку Cross-Site Scripting, щоб отримати доступ до локальних файлів та файлів cookie.

Усуньте цю вразливість одним із перелічених нижче способів.

  1. Переконайтеся, що компоненти WebView безпечні
  2. Переконайтеся, що компоненти WebView не можуть завантажувати локальні файли або запускати JavaScript
  3. Переконайтеся, що компоненти WebView із небезпечними налаштуваннями не завантажують ненадійний веб-вміст

1. Переконайтеся, що компоненти WebView безпечні

Укажіть для атрибута android:targetSdkVersion у маніфесті значення не менше 16. Також можна викликати функції 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 із небезпечними налаштуваннями не завантажує вміст із використанням схем HTTP.

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

Ми завжди раді допомогти

Якщо у вас є інші технічні запитання про вразливості, опублікуйте їх на сайті Stack Overflow з тегом android-security. Щоб дізнатися більше про дії для вирішення цієї проблеми, зв’яжіться зі службою підтримки розробників.

false
Головне меню
6336775792468398970
true
Пошук у довідковому центрі
true
true
true
true
true
5016068
false
false