Android security tags, read closely by Lightrion

CVE-2026-58841 AI-generated analysis

platform/frameworks/base, services/companion (virtual device audio, VirtualAudioController)

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.

VirtualAudioController.startListening now registers mAudioPlaybackDetector unconditionally instead of only when an IAudioConfigChangedCallback is supplied, so per the commit message the deferred silence-injection policy update recovers correctly when no config-changed callback is provided.

Root cause

In services/companion/java/com/android/server/companion/virtual/audio/VirtualAudioController.java, startListening() registered both mAudioPlaybackDetector and mAudioRecordingDetector inside `if (configChangedCallback != null)`. When a caller passed a null configChangedCallback, the controller was never registered with the playback detector and so did not receive playback callbacks. Per the commit message, this caused the deferred silence-injection policy update to be skipped and not recover. stopListening() unregisters both detectors unconditionally, so registration and unregistration of the playback detector were asymmetric.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to October 2026 · Findings