In injectBestLocation and handleUpdateLocation of GnssLocationProvider.java, there is a possible incorrect reporting of location data to emergency services due to improper input validation. This could lead to incorrect reporting of location data to emergency services with User execution privileges needed. User interaction is not needed for exploitation.
{
"types": [
"EoP"
],
"spl": "2021-04-01",
"vanir_signatures": [
{
"id": "ASB-A-177561690-2da51732",
"target": {
"file": "services/core/java/com/android/server/location/GnssLocationProvider.java",
"function": "handleUpdateLocation"
},
"deprecated": false,
"digest": {
"function_hash": "281177864577035610064103641308514956885",
"length": 148.0
},
"signature_type": "Function",
"source": "https://android.googlesource.com/platform/frameworks/base/+/579b74d5cbb08b8dd3461f484cdebcbd9e64c656",
"signature_version": "v1"
},
{
"id": "ASB-A-177561690-7bd06ed7",
"target": {
"file": "services/core/java/com/android/server/location/GnssLocationProvider.java"
},
"deprecated": false,
"signature_type": "Line",
"digest": {
"line_hashes": [
"257757970397882978073075761855931332674",
"79671540842942165796507493259390264481",
"17592790157259100566252929660173604132",
"60577984668212041363010518837147285755",
"163619473527643612292974234204187349793",
"89135679412966756822938004620278974713",
"2611475514712806146582139879647525261",
"222912424006289734928092950474953386594"
],
"threshold": 0.9
},
"source": "https://android.googlesource.com/platform/frameworks/base/+/579b74d5cbb08b8dd3461f484cdebcbd9e64c656",
"signature_version": "v1"
},
{
"id": "ASB-A-177561690-d70e7dee",
"target": {
"file": "services/core/java/com/android/server/location/GnssLocationProvider.java",
"function": "injectBestLocation"
},
"deprecated": false,
"digest": {
"function_hash": "26997292164509738480091834412491593945",
"length": 914.0
},
"signature_type": "Function",
"source": "https://android.googlesource.com/platform/frameworks/base/+/579b74d5cbb08b8dd3461f484cdebcbd9e64c656",
"signature_version": "v1"
}
],
"fixes": [
"https://android.googlesource.com/platform/frameworks/base/+/579b74d5cbb08b8dd3461f484cdebcbd9e64c656"
],
"severity": "High"
}
{
"types": [
"EoP"
],
"spl": "2021-04-01",
"vanir_signatures": [
{
"id": "ASB-A-177561690-00da9456",
"target": {
"file": "services/core/java/com/android/server/location/GnssLocationProvider.java",
"function": "handleUpdateLocation"
},
"deprecated": false,
"digest": {
"function_hash": "140260039340534588354822541116292943023",
"length": 219.0
},
"signature_type": "Function",
"source": "https://android.googlesource.com/platform/frameworks/base/+/c59cbd13f62586bf1eaeb75767859ed08f3adeb1",
"signature_version": "v1"
},
{
"signature_type": "Line",
"target": {
"file": "services/core/java/com/android/server/location/GnssLocationProvider.java"
},
"deprecated": false,
"digest": {
"line_hashes": [
"257757970397882978073075761855931332674",
"212930901082601694011779906740333081190",
"15339551320205961031815097056454159374",
"303901538576778438959015725729801495819",
"163619473527643612292974234204187349793",
"89135679412966756822938004620278974713",
"198395490762439878478707754843082150451",
"35853744024539631520651606170416991408"
],
"threshold": 0.9
},
"id": "ASB-A-177561690-66743a2b",
"source": "https://android.googlesource.com/platform/frameworks/base/+/c59cbd13f62586bf1eaeb75767859ed08f3adeb1",
"signature_version": "v1"
},
{
"id": "ASB-A-177561690-a9f80a8c",
"target": {
"file": "services/core/java/com/android/server/location/GnssLocationProvider.java",
"function": "injectBestLocation"
},
"deprecated": false,
"digest": {
"function_hash": "104977619292184249797167077362633210140",
"length": 1199.0
},
"signature_type": "Function",
"source": "https://android.googlesource.com/platform/frameworks/base/+/c59cbd13f62586bf1eaeb75767859ed08f3adeb1",
"signature_version": "v1"
}
],
"severity": "High",
"fixes": [
"https://android.googlesource.com/platform/frameworks/base/+/c59cbd13f62586bf1eaeb75767859ed08f3adeb1"
]
}
{
"types": [
"EoP"
],
"spl": "2021-04-01",
"vanir_signatures": [
{
"id": "ASB-A-177561690-23611178",
"target": {
"file": "services/core/java/com/android/server/location/gnss/GnssLocationProvider.java",
"function": "injectLocation"
},
"deprecated": false,
"signature_type": "Function",
"digest": {
"function_hash": "140260039340534588354822541116292943023",
"length": 219.0
},
"source": "https://android.googlesource.com/platform/frameworks/base/+/e8212659b95b8a68ce32a82d8548d88aaeb4608a",
"signature_version": "v1"
},
{
"id": "ASB-A-177561690-854db752",
"target": {
"file": "services/core/java/com/android/server/location/gnss/GnssLocationProvider.java"
},
"deprecated": false,
"digest": {
"line_hashes": [
"257757970397882978073075761855931332674",
"212930901082601694011779906740333081190",
"15339551320205961031815097056454159374",
"303901538576778438959015725729801495819",
"331198286719909576332180223253389574950",
"221553241774006473985829700771215306402",
"102684752914688777506994293548748871684",
"127744199569913252102156907612769223972"
],
"threshold": 0.9
},
"signature_type": "Line",
"source": "https://android.googlesource.com/platform/frameworks/base/+/e8212659b95b8a68ce32a82d8548d88aaeb4608a",
"signature_version": "v1"
},
{
"id": "ASB-A-177561690-f7034bfe",
"target": {
"file": "services/core/java/com/android/server/location/gnss/GnssLocationProvider.java",
"function": "injectBestLocation"
},
"digest": {
"function_hash": "104977619292184249797167077362633210140",
"length": 1199.0
},
"signature_type": "Function",
"deprecated": false,
"source": "https://android.googlesource.com/platform/frameworks/base/+/e8212659b95b8a68ce32a82d8548d88aaeb4608a",
"signature_version": "v1"
}
],
"severity": "High",
"fixes": [
"https://android.googlesource.com/platform/frameworks/base/+/e8212659b95b8a68ce32a82d8548d88aaeb4608a"
]
}