In enforceDumpPermissionForPackage of ActivityManagerService.java, there is a possible way to determine if a package is installed due to side channel information disclosure. This could lead to local information disclosure with no additional execution privileges needed. User interaction is not needed for exploitation.
{
"types": [
"ID"
],
"severity": "High",
"fixes": [
"https://android.googlesource.com/platform/frameworks/base/+/b57d1409c52478d37f006145949be8b4591b9898"
],
"spl": "2021-01-01",
"vanir_signatures": [
{
"deprecated": false,
"target": {
"file": "services/core/java/com/android/server/am/ActivityManagerService.java",
"function": "enforceDumpPermissionForPackage"
},
"source": "https://android.googlesource.com/platform/frameworks/base/+/b57d1409c52478d37f006145949be8b4591b9898",
"signature_version": "v1",
"digest": {
"function_hash": "328253270580842359078835002729645875131",
"length": 528.0
},
"id": "ASB-A-166667403-428b1cd9",
"signature_type": "Function"
},
{
"deprecated": false,
"target": {
"file": "services/core/java/com/android/server/am/ActivityManagerService.java"
},
"signature_type": "Line",
"digest": {
"line_hashes": [
"66739392362753218442585105965303547325",
"145926465871825836412424759016862391594",
"329393497864843757273400944767997417391",
"240352082606933695125583394349835098154",
"178573031860012575606062721245589632733",
"187143755928885058173661795639757861376",
"89270393170113699491151210272260982806"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://android.googlesource.com/platform/frameworks/base/+/b57d1409c52478d37f006145949be8b4591b9898",
"id": "ASB-A-166667403-6e686f27"
}
]
}