Як усунути вразливий елемент у розміщенні інтерфейсу Javascript

Ця інформація призначена для розробників, додатки яких мають уразливий елемент розміщення інтерфейсу Javascript.

Що нового

Ознайомтеся зі сповіщенням у Play ConsoleПісля кінцевих термінів, указаних у Play Console, ми можемо видаляти додатки з уразливими елементами з Google Play.

Потрібна дія

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

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

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

Компоненти WebView, що надають коду Javascript доступ до об’єктів додатка через атрибут addJavascriptInterface і завантажують ненадійний веб-вміст, є вразливими до впровадження інтерфейсу Javascript. Ненадійний вміст може використати метод об’єкта з анотацією @JavascriptInterface, що призводить до витоку чи пошкодження даних або навіть розміщення довільного коду.

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

Варіант 1. Переконайтеся, що компоненти WebView не додають об’єкти до інтерфейсу Javascript

Переконайтеся, що об’єкти не додаються до інтерфейсу Javascript компонентів WebView, які завантажують ненадійний веб-вміст. Це можна зробити двома способами.

 

Переконайтеся, що об’єкти не додаються до інтерфейсу Javascript через виклики addJavascriptInterface.

  1. Видаліть об’єкти з інтерфейсу Javascript у методі shouldInterceptRequest через атрибут removeJavascriptInterface, перш ніж компонент WebView завантажить ненадійний вміст.

Варіант 2. Переконайтеся, що компоненти WebView не завантажують ненадійний веб-вміст

Якщо додаток просить надати інтерфейсу Javascript компонента WebView доступ до об’єктів, переконайтеся, що цей компонент не завантажує веб-вміст через незашифроване з’єднання. У файлі Manifest укажіть для атрибута android:usesCleartextTraffic значення false або налаштуйте функцію Network Security Config, що забороняє трафік HTTP. Крім того, перевірте, чи вражені компоненти WebView не завантажують URL-адреси зі схемами HTTP через атрибут loadUrl.


Переконайтеся, що компоненти WebView з інтерфейсом Javascript не завантажують неперевірені URL-адреси, отримані з ненадійних джерел (наприклад, з ненадійних намірів).

Ми готові допомогти

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

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