Esta información está dirigida a desarrolladores cuyas apps usan intents implícitos para llegar a uno de sus componentes internos.
Novedades
Una o más de tus apps contienen un problema de intent interno implícito. Los intents implícitos que se usan para llegar a un componente interno permiten que los atacantes intercepten el mensaje y lo descarten, lo lean o incluso reemplacen su contenido. Las ubicaciones de los usos de intents implícitos se pueden encontrar en la notificación de Play Console de tu app.
Cómo solucionar alertas de "Intent interno implícito"
Revisa tu app para detectar la ubicación en la que se usa un intent implícito. Por ejemplo, el siguiente código usa intents implícitos para llegar a un componente interno:
//The app has a component that registers MY_CUSTOM_ACTION, which is only
//registered by this app, indicating that the dev intends for this Intent
//to be delivered to the internal component safely.
Intent intent = new Intent("MY_CUSTOM_ACTION");
//Add potentially sensitive content to 'intent'
intent.putExtra("message", sensitive_content);
startActivity(intent);
Google recomienda que los desarrolladores usen intents explícitos para llegar a sus componentes internos mediante una de las siguientes opciones:
- Uso de Intent.setComponent a fin de configurar explícitamente el componente para manejar el intent
- Uso de Intent.setClass o Intent.setClassName para establecer el componente de destino de forma explícita
- Uso de Intent.setPackage para limitar los componentes a los que responderá este intent
Próximos pasos
- Actualiza la app por medio de los pasos que se destacaron anteriormente.
- Accede a Play Console y envía una versión actualizada de tu app.
Durante ese tiempo, la app nueva o actualizada se encontrará en el estado En revisión hasta que se revise tu solicitud. Si no se actualiza correctamente la app, seguirás viendo la advertencia.
Estamos aquí para ayudarte
Si tienes preguntas técnicas sobre la vulnerabilidad, puedes publicarlas en Stack Overflow con la etiqueta "android-security". Si necesitas aclaración sobre los pasos que debes seguir para resolver el problema, puedes comunicarte con nuestro equipo de asistencia.