Corregir una vulnerabilitat File-based XSS

Aquesta informació va dirigida als desenvolupadors d'aplicacions vulnerables a File-based Cross-Site Scripting.

Què passa

Com a mínim una de les teves aplicacions conté una vulnerabilitat File-based Cross-Site Scripting que cal corregir. 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 hagis tornat a enviar l'aplicació, la tornarem a revisar. Aquest procés pot tardar diverses hores. Si l'aplicació supera la revisió i es publica correctament, no cal dur a terme cap altra acció. Si l'aplicació no supera la revisió, no se'n publicarà la versió nova i rebràs una notificació per correu electrònic.

Detalls addicionals

Les WebViews amb WebSettings que estableixen setAllowFileAccessFromFileURLs o setAllowUniversalAccessFromFileURLs en "true" no han de carregar contingut web que no sigui de confiança. Això inclou contingut de dominis de confiança que es carrega a través d'HTTP. El contingut web o les xarxes de naturalesa maliciosa poden injectar scripts per redirigir la WebView cap a un fitxer local maliciós i llançar un atac Cross-Site Scripting (XSS) per accedir als fitxers locals privats o a les galetes.

Has d'evitar aquesta vulnerabilitat d'una de les maneres següents:

  1. Assegura't que les WebViews no tinguin una configuració perillosa.
  2. Assegura't que les WebViews no puguin carregar fitxers locals ni executar JavaScript.
  3. Assegura't que les WebViews amb una configuració perillosa no carreguin contingut web que no sigui de confiança.

1. Assegura't que les WebViews no tinguin una configuració perillosa

Actualitza l'android:targetSdkVersion al Manifest per tal que sigui com a mínim la 16 i utilitzi la configuració predeterminada segura per a WebView. En cas contrari, crida setAllowFileAccessFromFileURLs(false) i setAllowUniversalAccessFromFileURLs(false) per assegurar-te que les seves WebViews són segures.

2. Assegura't que les WebViews no puguin carregar fitxers locals ni executar JavaScript

Crida setAllowFileAccess(false) per evitar que les WebViews amb una configuració perillosa carreguin fitxers locals o bé setJavaScriptEnabled(false) per evitar que executin codi JavaScript.

3. Assegura't que les WebViews amb una configuració perillosa no carreguin contingut web que no sigui de confiança

Si una WebView ha d'activar una configuració perillosa, assegura't que no carregui contingut web que no sigui de confiança. Això inclou contingut web carregat a través d'HTTP. Pots establir android:usesCleartextTraffic=false o pots definir una Network Security Config que no permeti el trànsit HTTP al Manifest. Com a alternativa, pots assegurar-te que cap WebView amb una configuració perillosa no carregui cap URL amb esquemes HTTP.

També has d'assegurar-te que les WebViews amb una configuració perillosa no carreguin URL obtinguts de fonts que no siguin de confiança.

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.