通过 Android 上的文件管理器非法访问文件系统

Gaining illicit access to file system through file managers on Android

在试验各种 Android 文件管理器 return 的 URI 时,我发现了一些奇怪的东西,在我看来这是一个主要的安全问题,除非有是我误解的东西:

OI 文件管理器和 ES 文件资源管理器 return 格式为 "content://authority/path" 的 URI,其中 authority 分别为 "org.openintents.filemanager" 或 "com.estrongs.files",路径为文件系统路径文件。

现在,当我使用这两个权限创建内容 URI 并在没有 READ_EXTERNAL_STORAGE 权限且从未向用户显示任何带有 ACTION_GET_CONTENT 的文件选择对话框的应用程序中使用它们时,我可以使用这些 URI 读取文件内容而不会引发任何安全异常。因此,通过查询是否存在这些应用程序之一,攻击者可以读取外部存储上他能够猜测或构造其名称的任何文件,而无需用户授予此权限。

根据这些发现,这些应用程序是否无法正确处理对其内容提供者的访问并应被视为 Android 用户的主要安全威胁,或者 Android 权限架构本身?

我同时发现在 OI 文件管理器的情况下,已报告并修复了此问题: http://blog.k3170makan.com/2014/02/path-disclosure-vulnerability-in-io.html https://github.com/openintents/filemanager/commit/78ffa735924292e541f3b7f20ead605f053f0df4

很遗憾,F-Droid 上发布的版本仍然存在漏洞。