Cómo usar las alertas del controlador de errores SSL de WebView para tus apps

Este artículo está dirigido a programadores que usan en sus apps una implementación del controlador WebViewClient.onReceivedSslError que no es segura. Esta implementación ignora todos los errores de validación del certificado SSL, por lo que las apps son vulnerables a ataques de terceros. Un atacante podría cambiar el contenido del componente WebView afectado, leer los datos que se transmiten (como las credenciales de acceso) y ejecutar códigos en la app mediante JavaScript.  

Novedades

A partir del 25 de noviembre de 2016, Google Play comenzó a bloquear la publicación de apps nuevas o actualizaciones que contienen esta vulnerabilidad. Consulta la notificación en tu cuenta de Play ConsoleDespués de los plazos que aparecen en Play Console, es posible que se eliminen de Google Play todas las apps que contengan vulnerabilidades de seguridad no resueltas.

Acción necesaria​

  1. Accede a tu cuenta de Play Console y desplázate a la sección "Alertas" para ver qué apps están afectadas, así como los plazos para resolver los problemas.
  2. Actualiza las apps afectadas y corrige la vulnerabilidad.
  3. Envía las versiones actualizadas de las apps afectadas.

Una vez que las hayas reenviado, revisaremos tu app nuevamente. Este proceso puede demorar varias horas. Si la app pasa la revisión y se publica sin problemas, no se requiere ninguna otra acción. Si la app no pasa la revisión, no se publicará la nueva versión, y recibirás una notificación por correo electrónico.

Detalles adicionales

  1. Para solucionar el problema, actualiza el código de tus apps para invocar SslErrorHandler.proceed() cuando el certificado que presente el servidor cumpla con tus requisitos o, de lo contrario, invoca SslErrorHandler.cancel().
  2. Si usas una biblioteca de un tercero que sea responsable de la vulnerabilidad, comunícate con él y trabajen en conjunto para solucionar el problema.

Para obtener más información sobre el controlador de errores SSL, consulta nuestra documentación en el Centro de ayuda para desarrolladores de Android. Si tienes preguntas sobre cuestiones técnicas, publícalas en https://www.stackoverflow.com/questions y usa las etiquetas “android-security” y “SslErrorHandler”.

Si bien es posible que estos problemas específicos no afecten a todas las apps que usan WebView SSL, te recomendamos mantener todos los parches de seguridad actualizados. Es posible que aquellas apps con vulnerabilidades que comprometan la seguridad de los usuarios se consideren productos peligrosos que infrinjan la Política de Contenido y el Artículo 4.4 del Acuerdo de Distribución para Desarrolladores.

Estamos aquí para ayudarte

Si tienes preguntas técnicas sobre la vulnerabilidad, publícalas en Stack Overflow con la etiqueta "android-security". Si tienes dudas sobre los pasos que debes seguir para resolver este problema, comunícate con nuestro equipo de asistencia para desarrolladores.