Android

ContentProvider access and data exposure

Intents, storage, permissions, WebView and inter-app communication.

Android components1 min readEditorial methods

ContentProvider can expose application data to other processes. Excessive access can disclose personal information despite strong code protection.

Evaluation approach

Keep providers private unless external access is necessary. Separate read and write permissions and treat query parameters as untrusted.

Application example

Grant access to a selected document without exposing profile data or previous documents through the same provider.

Limits and considerations

An interface permission check does not prove equivalent checks exist in the provider.

Does the screen lock protect the provider?

Test external provider calls while the application screen is locked. They may follow different code paths. Enforce ownership when selecting sensitive rows as well as when initially granting provider access.

Checks and decisions

  • Inventory exported providers
  • Separate reads and writes
  • Test permission lifetime

Sources

The primary references above provide the technical basis. Example workflows and evaluation suggestions are this publication’s explanations, not independent test results for a particular product.