Android security tags, read closely by Lightrion

CVE-2023-45866 AI-generated analysis

platform/packages/modules/Bluetooth, BR/EDR security manager (system/stack/btm/btm_sec.cc)

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 (5 corrections). Verify against the commit before relying on it.

The Bluetooth BTM security manager (system/stack/btm/btm_sec.cc) now rejects remote-initiated access to L2CAP and RFCOMM services that require incoming authentication when the peer is authenticated through a temporary bond, returning BTM_FAILED_ON_SECURITY. Related commits stop forcing the authenticate bit for SM4 peers and start authentication whenever encryption is required.

Root cause

In btm_sec.cc the grant paths of btm_sec_l2cap_access_req_by_requirement (rc == BTM_SUCCESS branch, which called p_callback with a hardcoded BTM_SUCCESS), btm_sec_mx_access_request (rc == BTM_SUCCESS branch) and btm_sec_execute_procedure (the 'All required security procedures already established' step, which clears the AUTHENTICATE/ENCRYPT bits) did not consider whether the authenticated peer's bond was temporary (is_bond_type_temporary()). So a remote-initiated request for a service whose security_required includes BTM_SEC_IN_AUTHENTICATE could be granted for a temp-bonded, authenticated peer.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to December 2023 · Findings