Отстраняване на уязвимостта от инжектиране в JavaScript интерфейс

Тази информация е предназначена за програмисти, чиито приложения съдържат уязвимостта от инжектиране в JavaScript интерфейс.

Какво се случва

Моля, вижте известието в Play ConsoleСлед крайните срокове, показани в Play Console, всички приложения, които съдържат уязвимости в сигурността, може да бъдат премахнати от Google Play.

Изисква се действие​

  1. Влезте в профила си в Play Console и преминете към секцията „Сигнали“, за да видите кои приложения са засегнати и крайните срокове за решаване на тези проблеми.
  2. Актуализирайте засегнатите приложения и отстранете уязвимостта.
  3. Изпратете актуализираните версии на засегнатите приложения.

При повторно изпращане приложението ви ще бъде прегледано отново. Този процес може да отнеме няколко часа. Ако приложението премине проверката и бъде публикувано успешно, няма нужда да правите нищо повече. В противен случай новата му версия няма да бъде публикувана и ще получите известие по имейл.

Допълнителни подробности

Компонентите WebView, които чрез addJavascriptInterface предоставят достъп на код на JavaScript до обекти на ниво приложение и зареждат ненадеждно уеб съдържание, са уязвими за инжектиране в JavaScript интерфейс. Ненадеждното съдържание може да изпълни всеки от методите на достъпните обекти, анотирани с @JavascriptInterface, което води до изтичане или повреждане на данни или дори до изпълняване на произволен код.

Препоръчваме ви да предотвратите тази уязвимост по един от следните начини:

Опция 1: Предотвратете добавянето на обекти към JavaScript интерфейса на компонентите WebView

Предотвратете добавянето на обекти към JavaScript интерфейса на компонентите WebView, които зареждат ненадеждно уеб съдържание. Можете да направите това по два начина:

 

Направете така, че към JavaScript интерфейса да не се добавят обекти чрез извиквания на addJavascriptInterface.

  1. Премахнете обектите от JavaScript интерфейса в shouldInterceptRequest чрез removeJavascriptInterface, преди WebView да зареди ненадеждно съдържание.

Опция 2: Уверете се, че компонентите WebView не зареждат ненадеждно уеб съдържание

Ако приложението ви трябва да предостави на JavaScript интерфейса на WebView достъп до обекти, този WebView не бива да зарежда уеб съдържание през нешифрована връзка. Можете да зададете false за android:usesCleartextTraffic в манифеста или да настроите конфигурация за сигурност на мрежата, която забранява трафика през HTTP. Друга възможност е засегнатите WebView да не зареждат чрез loadUrl URL адреси със схема HTTP.


Уверете се, че компонентите WebView с JavaScript интерфейси не зареждат непроверени URL адреси, получени от ненадеждни източници (напр. от ненадеждни намерения).

На ваше разположение сме

Ако имате технически въпроси относно уязвимостта, можете да ги публикувате в Stack Overflow и да използвате маркера android-security. За разяснение на стъпките, които трябва да изпълните, за да решите проблема, можете да се свържете с екипа ни за поддръжка за програмисти.

false
Главно меню
5358951950932263465
true
Търсене в Помощния център
true
true
true
true
true
5016068
false
false