Android security tags, read closely by Lightrion

CVE-2024-40655 AI-generated analysis

platform/packages/services/Telecomm, outgoing call screening (CallScreeningServiceHelper)

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

Adds an unbindService() call to the call-screening timeout handler in Telecom's CallScreeningServiceHelper so that a CallScreeningService that never responds is released after the timeout instead of staying bound.

Root cause

CallScreeningServiceHelper.bindAndGetCallIdentification() binds to the ROLE_CALL_SCREENING holder's service and posts a timeout runnable (Timeouts.getCallScreeningTimeoutMillis). Before the fix, the timeout runnable only completed mFuture with null and ended the log session. It never called unbindService(serviceConnection). Per the commit message, the code assumed the service would use MSG_SCREEN_CALL to screen the call and that the connection would be unbound for outgoing calls once screening completed. A plain service holding ROLE_CALL_SCREENING that does not complete screening therefore stayed bound by Telecom after the timeout, which kept the service alive. The onNullBinding path already unbound (line 156 in context). The timeout path did not.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to September 2024 · Findings