This intention contains some personal data necessary for this Activity in its additional functions.
Why? Pass identifiers to private data in additional applications where the resolution of these identifiers to this personal data (for example, a database query) can only be done through activity.
We found that using the RecentTaskInfo method of getRecentTasks (), this additional data can be read by any arbitrary application that has GET_TASK permission
Yes, I wrote about this almost two years ago, while others probably did it before that.
Are there more ways to leak this data?
All requests to launch other components are executed through the OS process, so the data is constantly "leaking" into the OS.
And, depending on what you are doing with Intent , you can skip it in other ways (for example, pass Intent itself as Parcelable to other applications).
And how can I ensure that the data in the extra is not read by other applications?
You can not. Again, do not put personal data in additional activity activities, but instead use identifiers that can be used to obtain this private data.
source share