{"id":"ASB-A-316153291","details":"In multiple functions of ZygoteProcess.java, there is a possible way to achieve code execution as any app via WRITE_SECURE_SETTINGS due to unsafe deserialization. This could lead to local escalation of privilege with User execution privileges needed. User interaction is not needed for exploitation.","aliases":["A-316153291","CVE-2024-31317"],"modified":"2026-09-18T15:47:37.392928379Z","published":"2024-06-01T00:00:00Z","references":[{"type":"ADVISORY","url":"https://source.android.com/security/bulletin/2024-06-01"},{"type":"FIX","url":"https://android.googlesource.com/platform/frameworks/base/+/e25a0e394bbfd6143a557e1019bb7ad992d11985"}],"affected":[{"package":{"name":"platform/frameworks/base","ecosystem":"Android"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"14-next:0"},{"fixed":"14-next:2024-06-01"}]}],"versions":["14-next"],"ecosystem_specific":{"types":["EoP"],"vanir_signatures":[{"signature_type":"Function","signature_version":"v1","source":"https://android.googlesource.com/platform/frameworks/base/+/7ba059e2cf0a2c20f9a849719cdc32b12c933a44","target":{"function":"maybeSetApiDenylistExemptions","file":"core/java/android/os/ZygoteProcess.java"},"deprecated":false,"digest":{"function_hash":"214448203349323599548795376745365520973","length":1178},"id":"ASB-A-316153291-4708fa78"},{"source":"https://android.googlesource.com/platform/frameworks/base/+/7ba059e2cf0a2c20f9a849719cdc32b12c933a44","target":{"function":"zygoteSendArgsAndGetResult","file":"core/java/android/os/ZygoteProcess.java"},"deprecated":false,"digest":{"length":657,"function_hash":"175695285244469626251881774535437376642"},"id":"ASB-A-316153291-8a5d6124","signature_type":"Function","signature_version":"v1"},{"target":{"file":"core/java/android/os/ZygoteProcess.java"},"deprecated":false,"digest":{"line_hashes":["250685846269877699305537590881757732988","182524859769249996603924161581678875248","186756118610173750335684351721385489392","182453770008676228557481321627097140899","137382483238606221430484722300192924877","131451455353301429098872188703380899469","80825542379334931313093044566922438533"],"threshold":0.9},"id":"ASB-A-316153291-fad5e15d","signature_type":"Line","signature_version":"v1","source":"https://android.googlesource.com/platform/frameworks/base/+/7ba059e2cf0a2c20f9a849719cdc32b12c933a44"}],"fixes":["https://android.googlesource.com/platform/frameworks/base/+/7ba059e2cf0a2c20f9a849719cdc32b12c933a44"],"severity":"High","spl":"2024-06-01"},"database_specific":{"source":"https://storage.googleapis.com/android-osv/ASB-A-316153291.json"}},{"package":{"name":"platform/frameworks/base","ecosystem":"Android"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"12:0"},{"fixed":"12:2024-06-01"}]}],"versions":["12"],"ecosystem_specific":{"vanir_signatures":[{"digest":{"length":1178,"function_hash":"214448203349323599548795376745365520973"},"id":"ASB-A-316153291-02ccd840","signature_type":"Function","signature_version":"v1","source":"https://android.googlesource.com/platform/frameworks/base/+/60669aa49aba34c0950d6246bd95b54f91a3c8e8","target":{"file":"core/java/android/os/ZygoteProcess.java","function":"maybeSetApiDenylistExemptions"},"deprecated":false},{"source":"https://android.googlesource.com/platform/frameworks/base/+/60669aa49aba34c0950d6246bd95b54f91a3c8e8","target":{"file":"core/java/android/os/ZygoteProcess.java"},"deprecated":false,"digest":{"threshold":0.9,"line_hashes":["250685846269877699305537590881757732988","182524859769249996603924161581678875248","186756118610173750335684351721385489392","182453770008676228557481321627097140899","137382483238606221430484722300192924877","131451455353301429098872188703380899469","80825542379334931313093044566922438533"]},"id":"ASB-A-316153291-bb550b30","signature_type":"Line","signature_version":"v1"},{"target":{"file":"core/java/android/os/ZygoteProcess.java","function":"zygoteSendArgsAndGetResult"},"deprecated":false,"digest":{"function_hash":"175695285244469626251881774535437376642","length":657},"id":"ASB-A-316153291-cfeea0e6","signature_type":"Function","signature_version":"v1","source":"https://android.googlesource.com/platform/frameworks/base/+/60669aa49aba34c0950d6246bd95b54f91a3c8e8"}],"fixes":["https://android.googlesource.com/platform/frameworks/base/+/60669aa49aba34c0950d6246bd95b54f91a3c8e8"],"severity":"High","spl":"2024-06-01","types":["EoP"]},"database_specific":{"source":"https://storage.googleapis.com/android-osv/ASB-A-316153291.json"}},{"package":{"name":"platform/frameworks/base","ecosystem":"Android"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"12L:0"},{"fixed":"12L:2024-06-01"}]}],"versions":["12L"],"ecosystem_specific":{"fixes":["https://android.googlesource.com/platform/frameworks/base/+/60669aa49aba34c0950d6246bd95b54f91a3c8e8"],"severity":"High","spl":"2024-06-01","types":["EoP"],"vanir_signatures":[{"target":{"function":"maybeSetApiDenylistExemptions","file":"core/java/android/os/ZygoteProcess.java"},"deprecated":false,"digest":{"function_hash":"214448203349323599548795376745365520973","length":1178},"id":"ASB-A-316153291-088a7ca6","signature_type":"Function","signature_version":"v1","source":"https://android.googlesource.com/platform/frameworks/base/+/60669aa49aba34c0950d6246bd95b54f91a3c8e8"},{"digest":{"threshold":0.9,"line_hashes":["250685846269877699305537590881757732988","182524859769249996603924161581678875248","186756118610173750335684351721385489392","182453770008676228557481321627097140899","137382483238606221430484722300192924877","131451455353301429098872188703380899469","80825542379334931313093044566922438533"]},"id":"ASB-A-316153291-852dfbdd","signature_type":"Line","signature_version":"v1","source":"https://android.googlesource.com/platform/frameworks/base/+/60669aa49aba34c0950d6246bd95b54f91a3c8e8","target":{"file":"core/java/android/os/ZygoteProcess.java"},"deprecated":false},{"digest":{"length":657,"function_hash":"175695285244469626251881774535437376642"},"id":"ASB-A-316153291-9c54f351","signature_type":"Function","signature_version":"v1","source":"https://android.googlesource.com/platform/frameworks/base/+/60669aa49aba34c0950d6246bd95b54f91a3c8e8","target":{"function":"zygoteSendArgsAndGetResult","file":"core/java/android/os/ZygoteProcess.java"},"deprecated":false}]},"database_specific":{"source":"https://storage.googleapis.com/android-osv/ASB-A-316153291.json"}},{"package":{"name":"platform/frameworks/base","ecosystem":"Android"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"13:0"},{"fixed":"13:2024-06-01"}]}],"versions":["13"],"ecosystem_specific":{"severity":"High","spl":"2024-06-01","types":["EoP"],"vanir_signatures":[{"signature_version":"v1","source":"https://android.googlesource.com/platform/frameworks/base/+/60669aa49aba34c0950d6246bd95b54f91a3c8e8","target":{"file":"core/java/android/os/ZygoteProcess.java","function":"zygoteSendArgsAndGetResult"},"deprecated":false,"digest":{"function_hash":"175695285244469626251881774535437376642","length":657},"id":"ASB-A-316153291-16f4247f","signature_type":"Function"},{"source":"https://android.googlesource.com/platform/frameworks/base/+/60669aa49aba34c0950d6246bd95b54f91a3c8e8","target":{"file":"core/java/android/os/ZygoteProcess.java"},"deprecated":false,"digest":{"line_hashes":["250685846269877699305537590881757732988","182524859769249996603924161581678875248","186756118610173750335684351721385489392","182453770008676228557481321627097140899","137382483238606221430484722300192924877","131451455353301429098872188703380899469","80825542379334931313093044566922438533"],"threshold":0.9},"id":"ASB-A-316153291-8250aede","signature_type":"Line","signature_version":"v1"},{"id":"ASB-A-316153291-9c55f11e","signature_type":"Function","signature_version":"v1","source":"https://android.googlesource.com/platform/frameworks/base/+/60669aa49aba34c0950d6246bd95b54f91a3c8e8","target":{"file":"core/java/android/os/ZygoteProcess.java","function":"maybeSetApiDenylistExemptions"},"deprecated":false,"digest":{"function_hash":"214448203349323599548795376745365520973","length":1178}}],"fixes":["https://android.googlesource.com/platform/frameworks/base/+/60669aa49aba34c0950d6246bd95b54f91a3c8e8"]},"database_specific":{"source":"https://storage.googleapis.com/android-osv/ASB-A-316153291.json"}},{"package":{"name":"platform/frameworks/base","ecosystem":"Android"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"14:0"},{"fixed":"14:2024-06-01"}]}],"versions":["14"],"ecosystem_specific":{"vanir_signatures":[{"digest":{"length":657,"function_hash":"175695285244469626251881774535437376642"},"id":"ASB-A-316153291-0b9b2229","signature_type":"Function","signature_version":"v1","source":"https://android.googlesource.com/platform/frameworks/base/+/60669aa49aba34c0950d6246bd95b54f91a3c8e8","target":{"function":"zygoteSendArgsAndGetResult","file":"core/java/android/os/ZygoteProcess.java"},"deprecated":false},{"signature_type":"Line","signature_version":"v1","source":"https://android.googlesource.com/platform/frameworks/base/+/60669aa49aba34c0950d6246bd95b54f91a3c8e8","target":{"file":"core/java/android/os/ZygoteProcess.java"},"deprecated":false,"digest":{"threshold":0.9,"line_hashes":["250685846269877699305537590881757732988","182524859769249996603924161581678875248","186756118610173750335684351721385489392","182453770008676228557481321627097140899","137382483238606221430484722300192924877","131451455353301429098872188703380899469","80825542379334931313093044566922438533"]},"id":"ASB-A-316153291-3e77f95b"},{"signature_type":"Function","signature_version":"v1","source":"https://android.googlesource.com/platform/frameworks/base/+/60669aa49aba34c0950d6246bd95b54f91a3c8e8","target":{"file":"core/java/android/os/ZygoteProcess.java","function":"maybeSetApiDenylistExemptions"},"deprecated":false,"digest":{"length":1178,"function_hash":"214448203349323599548795376745365520973"},"id":"ASB-A-316153291-474c4861"}],"fixes":["https://android.googlesource.com/platform/frameworks/base/+/60669aa49aba34c0950d6246bd95b54f91a3c8e8"],"severity":"High","spl":"2024-06-01","types":["EoP"]},"database_specific":{"source":"https://storage.googleapis.com/android-osv/ASB-A-316153291.json"}}],"schema_version":"1.9.0"}