Android security tags, read closely by Lightrion

CVE-2026-0059 AI-generated analysis

platform/packages/modules/Bluetooth, system/stack/sdp (SDP client request builder: sdp_discovery.cc / sdp_utils.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 (3 corrections). Verify against the commit before relying on it.

Adds a remaining-buffer-length parameter and check to sdpu_build_attrib_seq, and adds buffer accounting to process_service_attr_rsp, so the SDP client can no longer write an attribute ID sequence past the end of the SDP_DATA_BUF_SIZE request buffer.

Root cause

sdpu_build_attrib_seq(p_out, p_attr, num_attrs) wrote a 2- or 3-byte data element header and then num_attrs * 3 bytes (one 3-byte entry per attribute filter) into p_out without knowing how much space remained. Its callers in sdp_discovery.cc, process_service_attr_rsp and process_service_search_attr_rsp, build the request into a fixed BT_HDR buffer of SDP_DATA_BUF_SIZE allocated with osi_malloc. process_service_attr_rsp did no bytes_left accounting at all. process_service_search_attr_rsp tracked bytes_left for its base header but did not pass it to the attribute sequence builder. With a large p_ccb->p_db->num_attr_filters (plus the continuation-state bytes taken from the peer reply, *p_reply), the sequence could be written past the end of the allocated buffer.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to June 2026 · Findings