In setInputMethodWithSubtypeIdLocked of InputMethodManagerService.java, there is a possible way to setup input methods that are not enabled due to improper input validation. This could lead to local escalation of privilege with no additional execution privileges needed. User interaction is not needed for exploitation.
{
"severity": "Moderate",
"fixes": [
"https://android.googlesource.com/platform/frameworks/base/+/55f6a873458b72b99364d531e9e0cd54236f1cc1",
"https://android.googlesource.com/platform/frameworks/base/+/55f6a873458b72b99364d531e9e0cd54236f1cc1"
],
"spl": "2023-06-01",
"vanir_signatures": [
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"62254932137817019122658985252098018523",
"295964014840922994294226066991664009830",
"202812284309818429619527170475318128107",
"176704292464204913468701428427164499249"
]
},
"id": "PUB-A-227207653-15ca8a0b",
"source": "https://android.googlesource.com/platform/frameworks/base/+/55f6a873458b72b99364d531e9e0cd54236f1cc1",
"signature_type": "Line",
"target": {
"file": "services/core/java/com/android/server/inputmethod/InputMethodManagerService.java"
},
"signature_version": "v1",
"deprecated": false
},
{
"digest": {
"length": 613.0,
"function_hash": "307625859859531589155261964946132188509"
},
"id": "PUB-A-227207653-18a34f84",
"source": "https://android.googlesource.com/platform/frameworks/base/+/55f6a873458b72b99364d531e9e0cd54236f1cc1",
"signature_type": "Function",
"target": {
"file": "services/core/java/com/android/server/inputmethod/InputMethodManagerService.java",
"function": "setInputMethodWithSubtypeIdLocked"
},
"signature_version": "v1",
"deprecated": false
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"62254932137817019122658985252098018523",
"295964014840922994294226066991664009830",
"202812284309818429619527170475318128107",
"176704292464204913468701428427164499249"
]
},
"id": "PUB-A-227207653-759353e2",
"source": "https://android.googlesource.com/platform/frameworks/base/+/55f6a873458b72b99364d531e9e0cd54236f1cc1",
"signature_type": "Line",
"target": {
"file": "services/core/java/com/android/server/inputmethod/InputMethodManagerService.java"
},
"signature_version": "v1",
"deprecated": false
},
{
"digest": {
"length": 613.0,
"function_hash": "307625859859531589155261964946132188509"
},
"id": "PUB-A-227207653-908c9be8",
"source": "https://android.googlesource.com/platform/frameworks/base/+/55f6a873458b72b99364d531e9e0cd54236f1cc1",
"signature_type": "Function",
"target": {
"file": "services/core/java/com/android/server/inputmethod/InputMethodManagerService.java",
"function": "setInputMethodWithSubtypeIdLocked"
},
"signature_version": "v1",
"deprecated": false
}
],
"types": [
"EoP"
]
}
{
"severity": "Moderate",
"fixes": [
"https://android.googlesource.com/platform/frameworks/base/+/ceb9a211ec362d32ca98d7c346667370e7775b32"
],
"spl": "2023-06-01",
"vanir_signatures": [
{
"digest": {
"length": 613.0,
"function_hash": "307625859859531589155261964946132188509"
},
"id": "PUB-A-227207653-31c53218",
"source": "https://android.googlesource.com/platform/frameworks/base/+/ceb9a211ec362d32ca98d7c346667370e7775b32",
"signature_type": "Function",
"target": {
"file": "services/core/java/com/android/server/inputmethod/InputMethodManagerService.java",
"function": "setInputMethodWithSubtypeIdLocked"
},
"signature_version": "v1",
"deprecated": false
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"62254932137817019122658985252098018523",
"295964014840922994294226066991664009830",
"202812284309818429619527170475318128107",
"176704292464204913468701428427164499249"
]
},
"id": "PUB-A-227207653-8bbbc9ab",
"source": "https://android.googlesource.com/platform/frameworks/base/+/ceb9a211ec362d32ca98d7c346667370e7775b32",
"signature_type": "Line",
"target": {
"file": "services/core/java/com/android/server/inputmethod/InputMethodManagerService.java"
},
"signature_version": "v1",
"deprecated": false
}
],
"types": [
"EoP"
]
}