Android security tags, read closely by Lightrion

CVE-2024-34719 AI-generated analysis

platform/packages/modules/Bluetooth, Bluetooth app permission helpers (android/app/src/com/android/bluetooth/Utils.java)

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 Objects.requireNonNull() on the caller-supplied AttributionSource in four Bluetooth permission-check helpers in Utils.java, so a null AttributionSource can no longer produce a stub attribution chain that checks only Bluetooth's own permissions. It also updates UtilsTest to stop passing null.

Root cause

Several Bluetooth permission helpers in Utils.java build an attribution chain with new AttributionSource.Builder(context.getAttributionSource()).setNext(attributionSource).build() and then query PermissionManager. checkPermissionForDataDelivery does this with checkPermissionForDataDeliveryFromDataSource(), per context. The attributionSource parameter comes from the Binder caller and was not null-checked. Per the commit message, when a caller passed null the result was a stub attribution chain that did not properly check the caller's permissions, so the checks validated only Bluetooth's own permissions. This allowed permission bypasses on multiple Binder-exposed Bluetooth methods.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to November 2024 · Findings