OASAM-IS-004: Insecure Pending Intent Control

Descripción
A través de los Pending Intents, una aplicación puede delegar tareas en otra. La aplicación que recibe el Pending Intent no puede modificar sus datos, pero si completar los que estén vacios. Si una aplicación crea un Pending Intent para este propósito pero no le indica el target, una aplicación que reciba el Pending Intent podría añadírselo, de manera que dichos datos serían enviados a un componente arbitrario.


Riesgos
Esta vulnerabilidad podría permitir la fuga de la información que esté manejando el aplicativo que crea en Pending Intent. Adicionalmente, una aplicación malisiosa podría recibir dicha información, tratarla y enviarla al destino, realizando un ataque de “Man in the middle”.


Recomendaciones
Cuando se delega tareas en otra aplicación utilizando un Pending Intent, es recomendable establecer siempre el target al que se le están delgando dichas tareas, para que no puedan ser ejecutadas por una tercera aplicación.


Referencias
1. Flaw 6.4.5 de “A Study of Android Application Security”
2. http://developer.android.com/reference/android/app/PendingIntent.html
3. DRD06-J. Do not act on malicious intents - https://www.securecoding.cert.org/confluence/display/java/DRD06-J.+Do+not+act+on+malicious+intents