Remedierea vulnerabilității de injectare din interfața JavaScript

Aceste informații le sunt destinate dezvoltatorilor ale căror aplicații conțin o vulnerabilitate de injectare în interfața JavaScript.

Ce se întâmplă

Consultați notificarea din Play ConsoleDupă termenele limită afișate în Play Console, toate aplicațiile care conțin vulnerabilități de securitate neremediate pot fi eliminate din Google Play.

Acțiune necesară

  1. Conectați-vă la Play Console și navigați la secțiunea Alerte ca să vedeți ce aplicații sunt afectate și care sunt termenele limită pentru remedierea problemelor.
  2. Actualizați aplicațiile afectate și remediați vulnerabilitatea.
  3. Trimiteți versiunile actualizate ale aplicațiilor afectate.

După retrimiterea solicitării, aplicația dvs. va fi examinată din nou. Procesul poate dura câteva ore. Dacă aplicația trece de etapa de examinare și este publicată, nu mai este necesară nicio acțiune din partea dvs. Dacă aplicația nu trece de examinare, noua versiune a aplicației nu va fi publicată și veți primi o notificare prin e-mail.

Detalii suplimentare

Elementele WebView care expun obiectele de la nivelul aplicației la codul JavaScript prin addJavascriptInterface și încarcă conținut web care nu prezintă încredere sunt vulnerabile la injectarea interfeței JavaScript. Conținutul care nu prezintă încredere poate executa metodele adnotate cu @JavascriptInterface ale oricăruia dintre obiectele expuse, ceea ce duce la scurgerea datelor, la deteriorarea datelor sau chiar la executarea unui cod arbitrar.

Vă recomandăm să evitați această vulnerabilitate printr-unul dintre următoarele moduri.

Opțiunea 1: asigurați-vă că obiectele WebView nu adaugă obiecte la interfața JavaScript

Trebuie să vă asigurați că nu există obiecte adăugate la interfața JavaScript a niciunui element WebView care să încarce conținut web nesigur. Puteți face acest lucru în două moduri.

 

Asigurați-vă că niciun obiect nu este adăugat vreodată la interfața JavaScript prin intermediul apelurilor către addJavascriptInterface.

  1. Eliminați obiectele din interfața JavaScript în shouldInterceptRequest prin removeJavascriptInterface înainte ca elementul WebView să încarce conținutul care nu prezintă încredere.

Opțiunea 2: asigurați-vă că elementele WebView nu încarcă conținut web care nu prezintă încredere

Dacă aplicația dvs. trebuie să expună obiecte la interfața JavaScript a unui WebView, asigurați-vă că elementul WebView nu încarcă conținut web printr-o conexiune necriptată. Puteți să setați android:usesCleartextTraffic la false în Manifest sau să setați o configurație Network Security Config care nu permite traficul HTTP. Sau vă puteți asigura că nicio componentă WebView afectată nu încarcă adrese URL cu scheme HTTP prin loadUrl.


Asigurați-vă că elementele WebView cu interfețe JavaScript nu încarcă adrese URL neverificate obținute din surse care nu prezintă încredere (de exemplu, adrese URL obținute din Intenții care nu prezintă încredere).

Suntem aici pentru a vă ajuta

Dacă aveți întrebări tehnice cu privire la vulnerabilitate, puteți posta pe Stack Overflow, cu eticheta „android-security”. Pentru clarificarea pașilor necesari pentru remedierea acestei probleme, contactați echipa de asistență pentru dezvoltatori.

false
Meniu principal
1356488004396459498
true
Căutaţi în Centrul de ajutor
true
true
true
true
true
5016068
false
false