Resoldre una vulnerabilitat de cross app scripting

Aquesta informació va dirigida als desenvolupadors amb aplicacions que contenen la vulnerabilitat de cross app scripting.

Què passa

Com a mínim una de les teves aplicacions conté un problema de cross app scripting per a WebView, que pot permetre que aplicacions malicioses robin galetes d'usuaris i altres dades. Consulta l'avís a Play Console. Després de les dates límit que es mostren a Play Console, és possible que les aplicacions que presentin vulnerabilitats de seguretat sense solucionar se suprimeixin de Google Play.

Acció necessària​

  1. Inicia la sessió a Play Console i navega per la secció Alertes per consultar quines aplicacions es veuen afectades i les dates límit per resoldre aquests problemes.
  2. Actualitza les aplicacions afectades i soluciona la vulnerabilitat.
  3. Envia les versions actualitzades de les aplicacions afectades.

Un cop l'hagis tornat a enviar, tornarem a revisar l'aplicació. Aquest procés pot tardar diverses hores. Si l'aplicació passa la revisió i es publica correctament, no cal dur a terme cap altra acció. Si l'aplicació no passa la revisió, no se'n publicarà la versió nova i rebràs una notificació per correu electrònic.

Detalls addicionals

Les aplicacions malicioses poden fer que les WebViews, que activen JavaScript i carreguen dades llegides a partir d'intents que no són de confiança, executin codi JavaScript en un context no segur. Et recomanem que evitis aquesta vulnerabilitat d'una de les maneres següents:

Opció 1: assegura't que les activitats afectades no s'exportin

Troba totes les activitats que estiguin afectades per les WebViews. Si no cal que aquestes activitats facin intents des d'altres aplicacions, pots configurar android:exported=false a les activitats del teu manifest. Això garanteix que les aplicacions malicioses no puguin fer intents nocius a cap WebView d'aquestes activitats.

Opció 2: protegeix les WebViews a les activitats exportades

Si vols establir una activitat amb una WebView afectada com a exportada, et recomanem que facis els canvis següents:

  1. Actualitza la targetSdkVersion
    Assegura't que la targetSdkVersion compleixi els requisits del nivell d'API objectiu de Google Play. Les aplicacions amb una targetSdkVersion 16 o anterior avaluen els URL de JavaScript transmesos a loadUrl en el context de la pàgina carregada actualment. Dirigir a l'SDK versió 16 o anterior i cridar loadUrl fent servir entrades defectuoses d'intents que no són de confiança permet que els atacants executin scripts nocius a la WebView afectada.
  2. Protegeix les crides a evaluateJavascript
    Assegura't que els paràmetres d'evaluateJavascript sempre siguin de confiança. Cridar evaluateJavascript fent servir entrades defectuoses d'intents que no són de confiança permet que els atacants executin scripts nocius a la WebView afectada.
  3. Evita carregar fitxers no segurs
    Assegura't que les WebViews afectades no puguin carregar la base de dades de galetes. Les WebViews que carreguen URL defectuosos que comencen per file:// a partir d'intents que no són de confiança poden ser atacades per aplicacions malicioses com s'explica a continuació. Una pàgina web maliciosa pot escriure etiquetes <script> a la base de dades de galetes i, tot seguit, una aplicació maliciosa pot enviar un intent amb un URL file:// que dirigeixi a la teva base de dades de galetes de la WebView. L'script maliciós s'executarà si la base de dades de galetes es carrega en una WebView i pot robar informació de la sessió.
    Pots garantir que les WebViews afectades no es carreguin a la base de dades de galetes de la WebView de dues maneres: pots desactivar tot l'accés a fitxers o bé verificar que cap URL file:// dirigeixi a fitxers segurs. Tingues en compte que un atacant pot fer servir un enllaç simbòlic per fer que es facin marques de manera enganyosa al camí de l'URL. Per evitar aquest atac, assegura't de comprovar el camí canònic de tots els URL file:// que no siguin de confiança abans de comprovar el camí de l'URL.

Som aquí per ajudar-te
Si tens cap dubte tècnic sobre la vulnerabilitat, pots publicar les teves preguntes a Stack Overflow amb l'etiqueta "android-security". Per aclarir els passos que has de seguir per resoldre aquest problema, pots contactar amb el nostre equip d'assistència per a desenvolupadors.