FPII-2807 :Elevation of privilege vulnerability in Package Manager CVE-2017-0491 A-32553261
Prioritze package installer intent filter
Package Installer intent should always be handled by the package
installer. Only privilegded apps can have a priority > 0.
Change-Id: I37d7017473629c800f214adefa9c5ff9299a16f9
diff --git a/Android.mk b/Android.mk
index 092bf9c..60f31b9 100644
--- a/Android.mk
+++ b/Android.mk
@@ -12,6 +12,8 @@
LOCAL_PACKAGE_NAME := PackageInstaller
LOCAL_CERTIFICATE := platform
+LOCAL_PRIVILEGED_MODULE := true
+
LOCAL_PROGUARD_FLAG_FILES := proguard.flags
include $(BUILD_PACKAGE)
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index ea6583a..777d4e0 100755
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -25,20 +25,20 @@
<activity android:name=".PackageInstallerActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:excludeFromRecents="true">
- <intent-filter>
+ <intent-filter android:priority="1">
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.INSTALL_PACKAGE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="file" />
<data android:mimeType="application/vnd.android.package-archive" />
</intent-filter>
- <intent-filter>
+ <intent-filter android:priority="1">
<action android:name="android.intent.action.INSTALL_PACKAGE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="file" />
<data android:scheme="package" />
</intent-filter>
- <intent-filter>
+ <intent-filter android:priority="1">
<action android:name="android.content.pm.action.CONFIRM_PERMISSIONS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
@@ -52,7 +52,7 @@
android:configChanges="orientation|keyboardHidden|screenSize"
android:excludeFromRecents="true"
android:theme="@style/Theme.AlertDialogActivity">
- <intent-filter>
+ <intent-filter android:priority="1">
<action android:name="android.intent.action.DELETE" />
<action android:name="android.intent.action.UNINSTALL_PACKAGE" />
<category android:name="android.intent.category.DEFAULT" />
@@ -68,7 +68,7 @@
android:configChanges="orientation|keyboardHidden|screenSize"
android:excludeFromRecents="true"
android:theme="@android:style/Theme.DeviceDefault.Dialog.NoActionBar">
- <intent-filter>
+ <intent-filter android:priority="1">
<action android:name="android.content.pm.action.REQUEST_PERMISSION" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>