Android security tags, read closely by Lightrion

CVE-2026-55269 AI-generated analysis

platform/packages/modules/Bluetooth, system/gd/hal SnoopLogger (btsnoop filtered logging)

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

Corrects an inverted size guard in SnoopLogger::FilterCapturedPacket. Short HCI ACL packets are now padded by EXTRA_BUF_SIZE before profile filtering writes the fixed "PROHIBITED" magic string into the packet buffer. The fix also clamps the output length to packet.size() + PACKET_TYPE_LENGTH.

Root cause

In system/gd/hal/snoop_logger.cc, SnoopLogger::FilterCapturedPacket is meant to grow the captured HciPacket by EXTRA_BUF_SIZE when the PBAP or MAP profile filter is enabled. That padding gives FilterProfiles (and SnoopLogger::PayloadStrip, per the commit message) room to write the fixed magic string "PROHIBITED" over the payload. The guard was written as `packet.size() + EXTRA_BUF_SIZE > DEFAULT_PACKET_SIZE`, the opposite of the intent: only large packets were resized, and small packets (for example an 8-byte ACL packet) kept their original size. Per the commit message, the magic-string write then went past the end of the heap-allocated buffer.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to October 2026 · Findings