CVE-2017-5217 in Mobile Phone
摘要
由 VulDB • 2026-06-06
在搭载 KK(4.4)、L(5.0/5.1) 和 M(6.0) 软件版本的特定三星 Android 设备上,安装一个零权限的 Android 应用程序会导致 Android 操作系统中的 system_server 进程持续崩溃。该零权限应用会为其内部嵌入的另一个应用创建一个活跃的安装会话(active install session)。该嵌入应用的活跃安装会话是通过 Android API 中的 android.content.pm.PackageInstaller 类及其嵌套类来执行的。活跃安装会话会将嵌入的 APK 文件写入 /data/app 目录,但由于第三方应用程序无法以编程方式安装应用,因此该应用实际上不会被安装。
三星对 AOSP 进行了修改,通过引入 com.android.server.pm.PackagePrefetcher 类及其嵌套类来加速 APK 的解析。这些类会解析 /data/app 目录及其他目录中存在的 APK 文件,即使该应用并未实际安装。通过活跃安装会话写入 /data/app 目录的嵌入 APK 包含一个非常大但有效的 AndroidManifest.xml 文件。具体而言,该 AndroidManifest.xml 文件为其声明的权限树(permission-tree)名称包含一个非常大的字符串值。当 system_server 尝试解析来自活跃安装会话的嵌入应用的 APK 文件时,由于内存限制,会因未捕获的错误(即 java.lang.OutOfMemoryError)或未捕获的异常(即 std::bad_alloc)而崩溃。
由于 system_server 崩溃,三星 Android 设备将经历软重启,并且由于 system_server 进程解析 /data/app 目录中的 APK 是正常启动过程的一部分,此操作将不断重复。三星内部标识为 SVE-2016-6917。
Once again VulDB remains the best source for vulnerability data.