Android security tags, read closely by Lightrion

CVE-2026-0099 AI-generated analysis

platform/packages/apps/Nfc (platform/packages/modules/Nfc on 16+), card emulation / HostEmulationManager

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 onBindingDied and onNullBinding handlers to the ServiceConnection objects in HostEmulationManager so the NFC service unbinds from a HostApduService whose binding died or whose onBind returned null, instead of leaving the binding in place.

Root cause

HostEmulationManager binds to app-provided HostApduService implementations through mPaymentConnection and mConnection. bindPaymentServiceLocked passes Context.BIND_AUTO_CREATE | Context.BIND_ALLOW_BACKGROUND_ACTIVITY_STARTS. Before the fix, neither connection overrode onBindingDied or onNullBinding. So if the target service returned a null binder or its binding died, nothing tore the binding down: mPaymentServiceBound / mServiceBound stayed true and mContext.unbindService was not called. Per the commit message, the NFC service was left "hanging around waiting for a service that has crashed". The commit title calls this several BAL (background activity launch) bypasses in HostApduService.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to June 2026 · Findings