apache / cordova-plugin-camera

Apache Cordova Plugin camera
https://cordova.apache.org/
Apache License 2.0
966 stars 1.55k forks source link

fix(android): Isolate provider access to a subdirectory #901

Closed breautek closed 1 month ago

breautek commented 1 month ago

Platforms affected

Android

Motivation and Context

The file provider is what grants app delegates (such as the camera app) access for reading and/or writing. It is what allows the camera intent to write it's image to the app's internal cache directory. The previous configuration allowed access to the entire cache directory which could be perceived as a security risk.

Using a sub-directory will at least isolate access to that specific directory and won't expose other cache files that the app may have stored. The chosen directory is something that should only be used by this plugin, and the directory will be mostly empty assuming that users call the cleanup API. Worst case scenario it may have images that was previously captured by the user.

Description

Update to provider to path to use a subdirectory, and updated the create code to use subdirectory.

Testing

Tested on using android simulator using getPicture API. Paramedic tests also passes.

Checklist