Android security tags, read closely by Lightrion

CVE-2025-26441 AI-generated analysis

platform/packages/modules/Bluetooth, system/stack/sdp (SDP discovery, libbluetooth)

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.

Adds a one-byte bounds check at the top of add_attr in system/stack/sdp/sdp_discovery.cc so the attribute type byte is not read when no bytes remain before p_end.

Root cause

add_attr(p, p_end, ...) in system/stack/sdp/sdp_discovery.cc ran `type = *p++;` without first checking that at least one byte remained before p_end. The commit message says that in exceptional cases add_attr can be passed a p pointer 'one byte short of its p_end pointer', which leads to an out-of-bounds read of the next attribute's type byte. The added check rejects p >= p_end. The existing checks (the NULL return from sdpu_get_len_from_type, `(p + attr_len) > p_end`, and `p_attr_end > p_end`) all run after that first dereference.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to June 2025 · Findings