Android security tags, read closely by Lightrion

CVE-2024-0045 AI-generated analysis

platform/packages/modules/Bluetooth, system/stack/smp (BLE Security Manager Protocol, built as com.android.btservices)

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.

Adds an SMP command length validation at the start of smp_proc_sec_req in system/stack/smp/smp_act.cc. A Security Request command with an invalid length is now rejected with SMP_INVALID_PARAMETERS instead of being parsed, which addresses an out-of-bounds read when auth_req is read from the payload.

Root cause

smp_proc_sec_req (system/stack/smp/smp_act.cc) unconditionally dereferenced p_data->p_data as a tBTM_LE_AUTH_REQ to get auth_req. It did not first check that the received Security Request command had a valid length, so a malformed command could cause a read beyond the valid command data (commit title: OOB bug in smp_proc_sec_req; bulletin type ID, information disclosure).

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to March 2024 · Findings