Corregir una vulnerabilidad de File-based XSS

Esta información está destinada a los desarrolladores de aplicaciones que sean vulnerables a File-based Cross-Site Scripting.

¿Qué va a suceder?

Una o varias de tus aplicaciones contienen una vulnerabilidad de File-based Cross-Site Scripting que debes solucionar. Consulta el aviso en Play Console. Una vez que finalice el plazo indicado en Play Console, es posible que las aplicaciones que contengan vulnerabilidades de seguridad sin corregir se retiren de Google Play.

Acción necesaria​

  1. Inicia sesión en Play Console y ve a la sección Alertas para consultar qué aplicaciones están afectadas y las fechas límite para resolver estos problemas.
  2. Actualiza las aplicaciones afectadas y corrige la vulnerabilidad.
  3. Envía las versiones actualizadas de las aplicaciones afectadas.

Cuando vuelvas a enviar tus aplicaciones, se revisarán de nuevo. Este proceso puede tardar varias horas en completarse. Si una aplicación supera el proceso de revisión y se publica, no tendrás que hacer nada más. De lo contrario, la nueva versión de la aplicación no se publicará y recibirás una notificación por correo electrónico.

Información adicional

Los elementos WebView con WebSettings que asignan el valor "True" a setAllowFileAccessFromFileURLs o setAllowUniversalAccessFromFileURLs no deben cargar ningún contenido web que no sea de confianza. Esto incluye el contenido de dominios de confianza que se cargue a través de HTTP. Las redes o el contenido web maliciosos pueden insertar secuencias de comandos para redirigir el elemento WebView a un archivo local malicioso e iniciar un ataque de secuencias de comandos de sitios para acceder a cookies o archivos locales privados.

Debes evitar esta vulnerabilidad de una de estas formas:

  1. Comprueba que los elementos WebView no tengan configuraciones peligrosas.
  2. Comprueba que los elementos WebView no puedan cargar archivos locales ni ejecutar JavaScript.
  3. Comprueba que los elementos WebView que tengan configuraciones peligrosas no carguen contenido web que no sea de confianza.

1. Comprobar que los elementos WebView no tengan configuraciones peligrosas

Actualiza el valor android:targetSdkVersion en tu archivo de manifiesto para usar al menos la API nivel 16 y opciones predeterminadas seguras de WebView. Si no, ejecuta setAllowFileAccessFromFileURLs(false) y setAllowUniversalAccessFromFileURLs(false) para asegurarte de que sus elementos WebView son seguros.

2. Comprobar que los elementos WebView no puedan cargar archivos locales ni ejecutar JavaScript

Ejecuta setAllowFileAccess(false) para evitar que los elementos WebView que tengan configuraciones peligrosas carguen archivos locales o setJavaScriptEnabled(false) para evitar que ejecuten código de JavaScript.

3. Comprobar que los elementos WebView que tengan configuraciones peligrosas no carguen contenido web que no sea de confianza

Si un elemento WebView necesita habilitar configuraciones peligrosas, debes asegurarte de que no cargue contenido web que no sea de confianza, incluido el contenido web que se cargue a través de HTTP. Para ello, ejecuta android:usesCleartextTraffic=false o una configuración de seguridad de la red que no permita el tráfico de HTTP en tu archivo de manifiesto. Asegúrate de que los elementos WebView que tengan configuraciones peligrosas no carguen URLs con esquemas HTTP.

Asimismo, debes asegurarte de que los elementos WebView que tengan configuraciones peligrosas no carguen URLs de fuentes que no sean de confianza.

Queremos ayudarte

Si tienes alguna pregunta técnica sobre esta vulnerabilidad, puedes publicarla en Stack Overflow con la etiqueta "android-security". Ponte en contacto con nuestro equipo de asistencia para desarrolladores si necesitas más información para resolver este problema.

¿Te ha resultado útil esta información?

¿Cómo podemos mejorar esta página?
false
Menú principal
15486977699866146609
true
Buscar en el Centro de ayuda
true
true
true
true
true
5016068
false
false