Cómo reparar apps con vulnerabilidades de Apache Cordova

Esta información está dirigida a los programadores de apps que usen cualquier versión de Apache Cordova anterior a la versión 4.1.1. Esas versiones contienen vulnerabilidades de seguridad y, además, infringen la cláusula de Productos Peligrosos de la Política de Contenido y el Artículo 4.4 del Acuerdo de Distribución para Desarrolladores.  

Migra tus apps a Apache Cordova 4.1.1 (o versiones posteriores) lo antes posible y aumenta el número de versión del APK actualizado. Si usas una biblioteca de un tercero que incluya Apache Cordova, notifícalo y trabajen en conjunto para solucionar el problema.

Novedades

A partir del 11 de julio de 2016, Google Play comenzó a bloquear la publicación de las actualizaciones y apps nuevas que usan versiones anteriores a Apache Cordova 4.1.1. 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

  • CVE-2015-5256: Se aplica a las versiones anteriores a Apache Cordova 4.1.1. Estas versiones son vulnerables a la aplicación incorrecta de las restricciones de lista blanca de Android. El resultado es una vulnerabilidad en la que no se aplican correctamente las restricciones de lista blanca. Los URI que no se creen correctamente pueden usarse para evadir la lista blanca, ya que permiten la ejecución de JavaScript que no esté en esa lista. 
  • CVE-2015-1835: Se aplica a versiones anteriores a Apache Cordova 4.0.2. Estas versiones son vulnerables a la explotación remota de variables de configuración secundaria de Apache Cordova en Android. Las apps afectadas que no tienen valores explícitos en Config.xml pueden tener variables de configuración sin definir de Intent. Es posible que esta configuración provoque la aparición de cuadros de diálogo no deseados en las aplicaciones y cambios en su funcionamiento, como cierres forzados. 
  • CVE-2014-3502: Se aplica a versiones anteriores a Apache Cordova 3.5.1. Entre otros problemas de seguridad se incluyen vulnerabilidades de alta gravedad de secuencias de comandos entre aplicaciones (XAS). En determinadas circunstancias, las apps susceptibles podrían explotarse de manera remota para robar información sensible, como credenciales de acceso de los usuarios. 

Preguntas técnicas y sobre actualizaciones
Para obtener ayuda con las actualizaciones, consulta el sitio web de Apache Cordova. Si tienes otras preguntas técnicas sobre Apache Cordova, publícalas en https://www.stackoverflow.com/questions con las etiquetas "android-security" y "cordova".

Nota: Si bien es posible que los problemas no afecten a todas las apps que usan versiones anteriores a Apache Cordova 4.1.1, es aconsejable que mantengas todos los parches de seguridad actualizados. Actualiza las apps que tienen bibliotecas dependientes desactualizadas y otras vulnerabilidades.

Antes de publicar apps, asegúrate de que cumplan con el Acuerdo de Distribución para Desarrolladores y la Política de Contenido

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.