Android security tags, read closely by Lightrion

CVE-2025-0093 AI-generated analysis

platform/packages/modules/Bluetooth, btservice (bond state handling in BondStateMachine / AdapterService, MAP/PBAP/SIM access permissions)

AI-generated: written from the bulletin and the fixing diffs by claude-fable-5-1, then checked against the code by claude-opus-5-5 (9 corrections). Verify against the commit before relying on it.

When a device's bond state changes to BOND_NONE, the Bluetooth stack now resets that device's Message Access (MAP), Phonebook Access (PBAP) and SIM Access permissions to ACCESS_UNKNOWN, so access granted earlier does not survive unbonding.

Root cause

Nothing reset the per-device Message Access, Phonebook Access and SIM Access permissions (set through AdapterService.setMessageAccessPermission / setPhonebookAccessPermission / setSimAccessPermission) when a device's bond state changed to BOND_NONE. In android/app/src/com/android/bluetooth/btservice/BondStateMachine.java, the method that handles bond state changes and broadcasts ACTION_BOND_STATE_CHANGED (an in-file comment calls it sendIntent) updated the adapter properties and sent the intent, but left any earlier stored permission in place. So a device that was unbonded kept the MAP/PBAP/SIM access it had been granted before. This conflicts with the PBAP requirement, quoted in the commit message, that the user confirm at least the first connection from each new PCE, and with the MAP requirement that the MCE and MSE be bonded.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to March 2025 · Findings